Un soucie avec un programme en java
Résolu
ssalatin
Messages postés
81
Statut
Membre
-
ssalatin Messages postés 81 Statut Membre -
ssalatin Messages postés 81 Statut Membre -
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);
-
-
-
-
C'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); -
-