Programma java pour obtenir nombre 495

Fermé
Utilisateur anonyme - 17 oct. 2012 à 19:11
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 17 oct. 2012 à 23:06
Bonjour,

Je doit faire le programme suivant en Java mais je ne trouve comment on fait pour que le programme choissisent le nombre A qui doit être compris 100 et 999 mais qui doit exclurent les nombre 111, 222, 333, 444, 555, 666, 777, 888, 999. Voici l'algo:
 
Début Algorithme
Variables: A, B, C, E, F, G et N sont des entiers naturels
Traitement:
A = Lire
N = 0
Tat que (A différent de N) faire
Afficher (A)
N = A
B = Entier (A/100)
A = (A - B*100)
C = Entier (A/10)
A =(A - C*10)
E = minimum (A, B, C)
G = maximum (A, B, C)
F = (A+B+C-E-G)
A = ((G*100 + F*10 + E) - (E*100 + F*10 + G))
Fin Tant que
Fin Algorithme

Merci de votre aide

A voir également:

5 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
17 oct. 2012 à 19:36
Ça fait beaucoup de calculs pour pas grand chose... 111, 222, etc. sont tous divisibles par 111, il suffit donc de calculer le reste de cette division et de le comparer à 0.

int n=0;
final Scanner clavier = new Scanner(System.in);
while (n<100 || n>999 || n%111==0)
{
    System.out.print("Entrez un nombre : ");
    n = clavier.nextInt();
}
System.out.println(n);
0
Utilisateur anonyme
17 oct. 2012 à 20:33
Le code que tu m'a donné c'est juste pour le nombre A qui doit être tiré au sort au début?
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
Modifié par KX le 17/10/2012 à 21:09
Tu n'as pas dit que ça devait être tiré au sort !
Moi j'ai regardé ton pseudo-code et il y avait "A = Lire" j'ai donc considéré que c'était l'utilisateur qui entrait l'entier et que le programme faisait une vérification.
C'est ce que fait ton algorithme, c'est ce que fait mon code.

Avec de l'aléatoire ça donne ça :

final Random random = new Random();
int n;

do  n = 100+random.nextInt(900);
while (n%111==0);

System.out.println(n);
La confiance n'exclut pas le contrôle
0
Utilisateur anonyme
17 oct. 2012 à 21:15
Dans ce que tu m'a mi si je comprend bien, le programme choisi un nombre entre 100 et 999 et enlève que le nombre 111?
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
17 oct. 2012 à 21:17
Presque, il choisi un nombre entre 100 et 999, et recommence si c'est un multiple de 111.
Cela exclue donc 111, mais aussi 222, 333, etc.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
17 oct. 2012 à 23:02
Je peu mettre A à la place de n? Car le nombre Aléatoire est noté A dans mon algo
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
17 oct. 2012 à 23:06
Tu mets bien ce que tu veux, cependant les conventions Java préconise l'utilisation de lettres minuscules pour le nom des variables.
0