Détection de nombre super-premier
Bonsoir,
Un nombre est dit super-premier s'il vérifie la propriété suivante : n est premier en éliminant ses chiffres un à un , à partir de la droite, le résultat est toujours premier. Exemple : 593 593 premier 59 premier 5 premier.
on a cette fonction pour tester si un nombre est premier
Code:
1 2 3 4 5 6 7
|
def premier(n):
i=2
while(i<=(n//2) and(n%i!=0)):
i=i+1
return (i>n//2) |
On veut tester si un nombre est super-premier en faisant appel a la fonction premier précédente
est ce que cette solution est correcte? svp?
Code:
1 2 3 4 5 6 7
|
def premier(n):
i=2
while(i<=(n//2) and(n%i!=0)):
i=i+1
n=n//10
return (i>n//2) |
Détection de nombre super-premier
Bonjour, :D
Un filtre simple consiste à s'assurer que tous les chiffres sont égaux à 1, 3, 7 ou 9 - à l'exception de celui situé à l'extrême-gauche qui ne peut prendre que les valeurs 2, 3, 5 ou 7. Resterait ensuite, pour un entier candidat (N) de (c) chiffres, à effectuer les (c) tests de primalité en commençant par le plus long: la liste des diviseurs est alors majorée par √N .