Un soucie avec un programme en java
Résolu
Bonjour,
j'ai écrie un programme en java permettant de compter le nombre de diviseur d'un nombre entier que je donne, puis de les afficher !
voila ce que j'ai codé mais le résultat n'est pas ce que j'ai voulu faire :/
--------------------------------------------------------------------------------------------------------------
int diviseur=0, nb;
System.out.println("Entrer un nombre");
nb = lire.nextInt() ;
for (int i = 0; i < nb / 2; i++) {
if (nb % i == 0) {
System.out.println("le divisuer est" + diviseur++);
}
}
}
}
--
Roi sans Couronne
j'ai écrie un programme en java permettant de compter le nombre de diviseur d'un nombre entier que je donne, puis de les afficher !
voila ce que j'ai codé mais le résultat n'est pas ce que j'ai voulu faire :/
--------------------------------------------------------------------------------------------------------------
int diviseur=0, nb;
System.out.println("Entrer un nombre");
nb = lire.nextInt() ;
for (int i = 0; i < nb / 2; i++) {
if (nb % i == 0) {
System.out.println("le divisuer est" + diviseur++);
}
}
}
}
--
Roi sans Couronne
1 réponse
-
D'apres ce que j'ai compris tu dois faire cela:
for (int i = 0; i < nb / 2; i++){
if (nb % i == 0) diviseur++;}
System.out.println("le divisuer est" + diviseur);
-
-
-
-
ModérateurC'est parce que la boucle de leen.net n'affiche pas les diviseurs de nb, mais le nombre de diviseurs qu'il y a entre 1 et nb/2-1. Pour nb=8, tu as donc bien 2 diviseurs entre 1 et 3 qui sont 1 et 2...
Pour ce que tu veux faire ce serait plutôt comme ça :
for (int i=1; i<nb; i++) if (nb%i==0) System.out.printf("%d est un diviseur de %d\n",i,nb); -
-