Dans cet article Un programme qui détermine si la valeur saisie (n) est un nombre premier ou non J'écrirai.
Un nombre premier (nombre primitif) est un nombre naturel supérieur à 1 avec une seule fraction positive et lui-même. Voir aussi: prime - Wikipedia
(1) S'il est 1 ou moins ou 2, décrivez s'il s'agit d'un nombre premier. (2) S'il est 3 ou plus, faites une boucle de 2 à n et vérifiez s'il y a un nombre divisible. S'il est divisible, ce n'est pas un nombre premier. ③ Appelez la fonction et affichez le résultat.
** Il y avait une erreur dans le cas d'un entier de 3 ou plus, donc je l'ai corrigée **
Si False, ce n'est pas un nombre premier. Si Vrai, un nombre premier.
prime_num.py
def is_prime(n):
#1 ou moins n'est pas un nombre premier
if n <= 1:
return False
#2 est un nombre premier
if n == 2:
return True
S'il est divisible, ce n'est pas un nombre premier
prime_num.py(2)
def is_prime(n):
#1 ou moins n'est pas un nombre premier
if n <= 1:
return False
#2 est un nombre premier
if n == 2:
return True
#Les nombres pairs autres que 2 ne sont pas des nombres premiers
if n % 2 == 0:
return False
#Pour les cotes de 3 ou plus, les nombres premiers sauf s'ils sont divisibles par toutes les cotes jusqu'à la racine carrée
return all(n % i != 0 for i in range(3, int(n**0.5) + 1, 2))
Si False, ce n'est pas un nombre premier. Si True, c'est un nombre premier.
prime_num.py(3)
def is_prime(n):
#1 ou moins n'est pas un nombre premier
if n <= 1:
return False
#2 est un nombre premier
if n == 2:
return True
#Les nombres pairs autres que 2 ne sont pas des nombres premiers
if n % 2 == 0:
return False
#Pour les cotes de 3 ou plus, les nombres premiers sauf s'ils sont divisibles par toutes les cotes jusqu'à la racine carrée
return all(n % i != 0 for i in range(3, int(n**0.5) + 1, 2))
number = int(input("Nombre naturel →"))
if is_prime(number):
print(f"{number}Est un nombre premier.")
else:
print(f"{number}N'est pas un nombre premier.")
** Résultat d'exécution **
number = 1
→ 1 n'est pas un nombre premier.
number = 5
→ 5 est un nombre premier.
Le résultat est reflété.
Cette fois, j'ai écrit un programme pour juger s'il s'agit d'un nombre premier en Python.
Dans ce programme, plus n est grand, plus le calcul est long. J'aimerais trouver un code plus efficace.
Recommended Posts