[débutant]Trouver des nombres premiers
Bonjour,
Je suis débutant en programmation et je dois réaliser un petit programme Java, mais je n'obtiens aucun résultat...pourtant, j'y ai passé des heures:(
Pourriez-vous me remettre sur la voie?
Merci beaucoup,
Sébastien
Voici l'énoncé du problème:
Citation:
Un nombre premier est un nombre entier positif qui est divisible uniquement par lui-même et par un.
a. Spécifiez la pré- et postcondition une méthode permettant de calculer le nombre de nombres premiers entre l'entier min et l'entier max.
b. Ecrivez le corps de cette méthode sans utiliser de boucle for.
Ma 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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
| /**
* Classe renvoyant le nombre de nombres premiers entre les entiers naturels x et y.
*
* @author Sébastien
* @version 16/10/2006
*/
public class Premier
{
//Méthode
/**
* @param min et max deux int positifs
* @return renvoie le nombre de nombres entiers entre min et max
*/
public int premier()
{
int i = 5; //correspond à min
int y = 27; //correspond à max
double entier = 0.0;
int comptepremier = 0;
int denum = 0;
boolean cond = true;
int reste = 0;
while(i<y){
denum = i-1;
while( (denum>1) && ( cond = true )) {
reste = i % denum;
if ( (i % denum) != 0) {
cond = true;
}
else{
cond = false;
}
denum = denum - 1;
}
//Fin de la boucle while interne
if(cond = true){
comptepremier++;
}
i+=1;
}//Fin de la boucle while externe
return comptepremier;
}//Fin de la méthode premier
}//Fin de la classe Premier |
Et la classe test:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| /**
* Classe testant Premier
*
* @author (your name)
* @version (a version number or a date)
*/
public class Test
{
public static void main(String args[]){
Premier obj = new Premier();
System.out.println(obj.premier());
}
} |