Bonjour !
J'ai un petit problème avec mon programme (en java), je dois écrire un algorithme qui affiche les nombres premiers d'un nombre composé (je sais pas si c'est claire ^^')
Voici mon code :
Il y a une série de test à faire que j'ai réussi à passer (tels que 2 donne [2] ou encore 4 donne [2,2]...) Le problème c'est que justement il y a un test que j'arrive pas à passer.... quand j'entre 8 c'est censé donner [2,2,2] sauf que ça m'affiche [2,4].... Je ne vois pas du tout d'où vient le problème.Code:public class PrimeFactors { public List<Integer> computeFactors(int number) { List<Integer> list= new ArrayList<Integer>(); int i=2, nbp=0; if (number==1) { return list; } while (number > 0) { for (i = 2; i < 100; i++) { if (i % 1 == 0 && i % i == 0) { nbp = i; if (number == nbp) { list.add(number); return list; } if (number % nbp == 0 ){ number = number / nbp; list.add(nbp); } } } } return list; } }
Je vous remercie d'avance d'avoir lu tout mon post ^^
-----