Factorisation d'un nombre en nombre premier
voila j'ai essayé de résoudre ce problème pour un nombre:13195 et je dois afficher les nombres suivant 5, 7, 13 et 29 puisque 13195=5*7*13*29 sachant que ces nombres sont premiers,j’espère que j'ai bien clarifié
le problème et dans la syntaxe je c pas pourquoi message genre while expected voila c'est tout attend votre réponse
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| import java.io.* ;
import java.util.* ;
public class Nmbrepremier {
public static void main(String[] args) {
int x= 13195;
double n=3;
while (x != 1) do
{
n=3;
while (estpremier(n) && ((x%n) != 0)) do
{
n = n+2;
};
System.out.println(n);
x = x/n;
}
}
static boolean estpremier(double a){
int i=2;
boolean control=false;
while((i<=Math.sqrt(a)) && (control==false)) do{
if ( a % i == 0 ) control=true;
i+=1;
}
return control;
}
} |