Java utilisation du modulo %

Fermé
jasinskiiiiiiiiiiiiiiiiiiiiiiiiiii13 - 2 mars 2010 à 19:04
Kuku007 Messages postés 183 Date d'inscription dimanche 28 février 2010 Statut Membre Dernière intervention 7 septembre 2011 - 3 mars 2010 à 18:06
Bonjour,
je voudrais afficher si un nombre est premier ou pas. mais mon code ne fonctionne pas au niveau de i % e == 0 je ne sais pas ce que je dois mettre

import javax.swing.JOptionPane;


//Algo02.java
/**
* Description
*
* @author Mathieu
* @version 2 mars 2010
*/
public class Algo02
{
public static void main(String[] args)
{
String n = JOptionPane.showInputDialog("Entre ton numero ...");
int i;
i = Integer.parseInt(n);
for (int e = 2; e<i; e++ )
{
if (i % e == 0)
{
JOptionPane.showMessageDialog(null, i + " n'est pas premier!");
break;
}
else
{
JOptionPane.showMessageDialog(null, i + " est premier!");
break;
}
}
}
}

2 réponses

Kuku007 Messages postés 183 Date d'inscription dimanche 28 février 2010 Statut Membre Dernière intervention 7 septembre 2011 23
2 mars 2010 à 20:43
Hum c'est quoi l'erreur sortie ?
0
jasinskiiiiiiiiiiiiiiiiiiiiiiiiiii13
2 mars 2010 à 23:13
si je met 25 il me met que c'es tun nombre premier hors c'es faut...
0
Kuku007 Messages postés 183 Date d'inscription dimanche 28 février 2010 Statut Membre Dernière intervention 7 septembre 2011 23
3 mars 2010 à 18:06
Hum ton code ne fait pas du tout un test de primalité !
Les algorithmes de résolution de primalité sont "nombreux"...

C'est un problème toujours d'actualité dans le monde de la recherche...
Il est donc évident que ce problème ne peut se résoudre aussi facilement que par ta solution ;-)

2 algorithmes célèbres tels que Miller-Rabin ou bien Monte-Carlo pourrait t'aider.
J'ai d'ailleurs trouver une proposition forte intéressante mais trop dépourvue de preuves mathématiques à mon sens pour m'y risquer mais la théorie reste attirante : http://fordom.free.fr/tuto/NP/TUTONP.htm
0