B.5 : Mini-projet 4: Nombres premiers
Un nombre premier est un entier naturel, admettant exactement deux diviseurs distincts : 1 et lui-même.
Par opposition, un nombre non nul produit de deux nombres entiers différents de 1 est dit composé.
Par exemple 12 = 2×6 est composé, tout comme 21 = 3×7 ou 7×3. Mais 11 est premier car 1 et 11 sont les seuls diviseurs de 11.
1 n'est ni premier ni composé. Les nombres premiers inférieurs à 100 sont :
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37 , 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89 et 97.
Un nombre entier p divise un nombre entier q si le reste de la division entière de p par q est zéro.
a. Ecrire une fonction boolenne qui, étant donnés deux entiers strictement positifs p et q, teste si p divise q.
b. Ecrire une fonction qui, étant donné un entier p, rend le nombre de diviseurs de p.
exemple : 12 à 6 diviseurs : 1,2,3,4,6,12
c.Un nombre est premier s'il n'est divisible que par 1 et par lui-même.
exemple : 13 est premier , 21 ne l'est pas.
Ecrire la fonction isPremier en utilisant la fonction de b.
d. En fait, si l'on trouve un diviseur pour un nombre p qui est différent de 1 et de p, on peut en déduire immédiatement que p n'est pas
premier. Ecrire une fonction isPremier utilisant cette propriété.
e. Améliorer en ne considérant comme diviseurs que le nombre 2 et les nombres impairs (en effet si un nombre n'est pas divisible par 2, il ne
sera divisible par aucun nombre pairs !)
f. Améliorer en arretant les tests lorsque le diviseur dépasse la racine carrée de n. (en effet, si un diviseur de p est supérieur à la
racine carrée de n, le quotient est donc inférieur à n et aura été trouvé avant).
g. Ecrire une fonction affichant la liste des n premiers nombres premiers inférieurs à partir de 2.
En attendant la correction, au boulot !
B.5 : Mini-projet 4: Nombres premiers
Débutant java - initiation java - Débutant en java - Débutants en java - Débuter en java - Debutant java - Debuter en java - initiation java - cours de java - tutorial java - les tableaux en java -