Juger s'il s'agit d'un nombre premier [Python]

Dans cet article Un programme qui détermine si la valeur saisie (n) est un nombre premier ou non J'écrirai.

Qu'est-ce qu'un nombre premier

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

Environnement d'exécution

Comment trouver

(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 c'est 1 ou moins ou 2, décrivez s'il s'agit d'un nombre premier

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

(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

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))

③ Appelez la fonction et affichez le résultat

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é.

Sommaire

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.

référence

prime - Wikipédia

Recommended Posts

Juger s'il s'agit d'un nombre premier [Python]
Un programme qui détermine si un nombre entré en Python est un nombre premier
Premier nombre 2 en Python
Vérifiez si la chaîne est un nombre en python
La liste Python n'est pas une liste
Générateur principal infini en Python3
Générateur de nombres premiers par Python
C'est un nombre premier ... Comptez les nombres premiers ...
Supprimer un caractère spécifique en Python s'il s'agit du dernier
nombre premier
Projet Euler # 7 "1000 1er nombre premier" en Python
Qu'est-ce qu'un chien? Volume d'installation Python
[python] [meta] Le type de python est-il un type?
[Python] Mémo de prétraitement complet tel quel
À propos du 02 février 2020 * Ceci est un article Python.
Créer un outil de génération de documents Python car il est difficile d'utiliser sphinx
Pourquoi le découpage Python est représenté par un deux-points (:)
Est-ce que sys.settrace, une fonctionnalité géniale de python, est un autre langage?
Énumération des nombres premiers et jugement des nombres premiers en Python
Création arbitraire de nombres premiers de bits Code Python RSA
Écrivons un programme Python et exécutons-le
Lancez le shell pendant que le script Python est en cours d'exécution
Dites-moi ce qu'est une cartographie équiangulaire, Python!
Python est facile
[Art de la coquille] Seulement quand c'est un multiple de 3 et un nombre avec 3 devient stupide
Qu'est-ce que python
Python est une instance
python Remarque: que signifie définir une graine avec la génération de nombres aléatoires?
Qu'est-ce que Python
[Python] Un programme qui compte le nombre de vallées
Énumération approximative lorsque la factorisation des nombres premiers est déjà connue (Python)
Qu'est-ce que Dieu? Créez un chatbot simple avec python
Annoncez intelligemment qu'il s'agit d'une implémentation obsolète --debtcollerctor
[Python] Assurez-vous que la fonction reçue est une fonction définie par l'utilisateur
[Python] Générer de manière aléatoire un grand nombre de noms de personne en anglais
À en juger par l'image du chien Shiba en apprenant en profondeur si c'est mon enfant (1)
Lambda + Python est efficace pour restreindre l'accès à un grand nombre de listes d'adresses IP
J'ai fait une classe pour vérifier si c'est un constituant de TOPIX Core30, Large70, Mid400, Small
[Python] Qu'est-ce qu'un tuple? Explique comment utiliser sans toucher et comment l'utiliser avec des exemples.