Un soucie avec un programme en java [Résolu/Fermé]

Signaler
Messages postés
63
Date d'inscription
mardi 7 février 2012
Statut
Membre
Dernière intervention
17 janvier 2016
-
Messages postés
63
Date d'inscription
mardi 7 février 2012
Statut
Membre
Dernière intervention
17 janvier 2016
-
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++);

}
}
}
}

1 réponse

Messages postés
212
Date d'inscription
lundi 31 janvier 2011
Statut
Membre
Dernière intervention
14 mai 2014
14
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);

Messages postés
63
Date d'inscription
mardi 7 février 2012
Statut
Membre
Dernière intervention
17 janvier 2016
4
Sa marche mtn mais il me donne seulement un diviseur "2" et moi je veux qu'il revoie tout les diviseur de 8 par exemple !! une idée ?!
Messages postés
16372
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 juillet 2021
2 856
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);
Messages postés
63
Date d'inscription
mardi 7 février 2012
Statut
Membre
Dernière intervention
17 janvier 2016
4
programme exécuté mercii :)
Messages postés
212
Date d'inscription
lundi 31 janvier 2011
Statut
Membre
Dernière intervention
14 mai 2014
14
parce que dans l'énoncé tu as dit : nombre de diviseurs et pas les diviseurs....
Messages postés
63
Date d'inscription
mardi 7 février 2012
Statut
Membre
Dernière intervention
17 janvier 2016
4
Ouii :p