The Story

Ce problème commence par une histoire triste. Quand je grandissais au Kenya, on estimait que plus de 38% des médicaments vendus en pharmacie étaient des faux [1]. C'était un gros problème! Selon l'organisme que vous demandez, le nombre de décès dus à la contrefaçon de médicaments allait de 100 000 par an (OMS) à 700 000 (IPN) [2].

La contrefaçon de médicaments équivaut à "quatre avions gros porteurs qui s'écrase tous les jours" [2].

En 2009, Bright Simmons, un Ghanéen, a proposé une solution technologique simple, baptisée mPedigree. Il s'est associé avec des entreprises qui fabriquent des médicaments. Sur chaque emballage de médicament légitime, ils ont apposé un code de grattage unique. Maintenant, lorsque vous achetez des médicaments dans une pharmacie au Kenya, vous vérifiez le code et le code à gratter mPedigree. Si le code est dans leur système et qu'il n'a jamais été utilisé auparavant, mPedigree envoie un message textuel indiquant: "valide". Le paludisme seul a entraîné une diminution de 58% du nombre de décès d’enfants [3]. Parfois, des solutions de programmation simples peuvent avoir un impact positif important sur le monde.

Votre travail

Ecrivez un programme qui génère des nombres à 10 chiffres pour 1 000 paquets de médicaments. Chaque numéro que vous générez devrait être (1) unique et (2) imprévisible.

Voici une capture d'écran d'un exemple d'exécution:

Ces chiffres seront mis sur les paquets de médicaments. Les contre-joueurs n'ont aucune chance!

Nombres aléatoires

Pour générer des nombres aléatoires, créez une variable d'instance RandomGenerator (une variable déclarée en dehors de toutes les méthodes), comme suit:

private RandomGenerator rgen = new RandomGenerator();

Vous pouvez ensuite utiliser la variable pour générer des nombres aléatoires.

rgen.nextInt(min, max) //génère un int aléatoire dans la plage (min, max) inclus

C'est tout! Posez des questions si vous ne comprenez pas quelque chose (ou si vous voulez en savoir plus sur les médicaments contrefaits)