Un programme qui détermine si un nombre entré en Python est un nombre premier

introduction

C'est un "programme qui détermine si l'entier d'entrée n est un nombre premier ou un nombre composé" que j'ai créé après avoir étudié Python et appris la syntaxe de base. Je l'écris aussi comme mon propre journal. Je pense qu'il reste encore de nombreux points à atteindre, mais j'apprécierais tout conseil.

Principe du programme

La méthode de détermination du nombre premier cette fois était basée sur le fait que «pour l'entrée n, si la fraction de n n'est pas un nombre premier jusqu'à √n, c'est un nombre premier». Voir ci-dessous pour une preuve détaillée. [Preuve que n est un nombre premier si le entier naturel n n'est pas divisible par tous les nombres premiers inférieurs ou égaux à √n](https://cartman0.hatenablog.com/entry/2017/10/23/%E8%87%AA % E7% 84% B6% E6% 95% B0n% E3% 81% 8C% E2% 88% 9An% E4% BB% A5% E4% B8% 8B% E3% 81% AE% E3% 81% 99% E3 % 81% B9% E3% 81% A6% E3% 81% AE% E7% B4% A0% E6% 95% B0% E3% 81% A7% E5% 89% B2% E3% 82% 8A% E5% 88 % 87% E3% 82% 8C% E3% 81% AA% E3% 81% 91% E3% 82% 8C)

Programme réel

import math
from sympy import primerange
n = int(input("Entrez le nombre que vous souhaitez vérifier s'il s'agit d'un nombre premier.>> "))
num = int(math.sqrt(n)) + 1
primlist = list(primerange(2,num)) #1

for i in primlist: #2
    if n % i == 0: #3
        print("Le nombre de composites.")
        break
    elif i == primlist[-1] :
        print("C'est un nombre premier.")

Écoulement brutal

  1. Créez une liste de nombres premiers avec des nombres jusqu'à √n.
  2. Divisez n par la liste des nombres premiers.
  3. Lorsqu'il est divisible, le message "Nombre composé" s'affiche. Lorsque vous atteignez la fin de la liste des nombres premiers, "C'est un nombre premier." S'affiche.

Ce que tu fais réellement

  1. est le n ° 1 et a créé une liste de nombres premiers en utilisant la [primerange] de SymPy (https://docs.sympy.org/latest/modules/ntheory.html).
  2. est # 2, qui utilise la syntaxe for pour extraire les caractères de la liste des nombres premiers.
  3. est # 3, et il est jugé par "si oui ou non le ** reste ** de n divisé par un nombre premier est 0" en utilisant la syntaxe if.

Réflexions

J'ai fait un jugement sur les nombres premiers pour la première fois, mais je suis personnellement satisfait de quelque chose qui fonctionne. Cependant, à mesure que n devient plus grand (plus de 7 chiffres), la vitesse de calcul devient plus lente, donc je voudrais l'améliorer d'une manière ou d'une autre. De plus, si vous y réfléchissez, vous n'avez pas besoin d'utiliser les mathématiques, alors j'aimerais y remédier. C'est mon premier programme autodidacte, donc je le laisse comme mémorial cette fois. Je pense qu'il est possible de décomposer les facteurs premiers à l'aide de ce programme, j'aimerais donc le modifier. Merci d'avoir lu jusqu'au bout.

Recommended Posts

Un programme qui détermine si un nombre entré en Python est un nombre premier
Juger s'il s'agit d'un nombre premier [Python]
Un programme qui détermine automatiquement s'il s'agit d'une animation ou d'une photo lorsque vous entrez l'image d'une personne [python]
Premier nombre 2 en Python
Un programme qui supprime les instructions en double en Python
Vérifiez si la chaîne est un nombre en python
[Python] Un programme qui compte le nombre de vallées
[Python] Un programme qui trouve le nombre d'étapes le plus court dans un jeu qui traverse les nuages
Programme Python du "Livre qui enseigne facilement la programmation difficile"
Un programme polyvalent qui formate les chaînes de commande Linux avec python
J'ai essayé "un programme qui supprime les déclarations en double en Python"
Générateur principal infini en Python3
Générateur de nombres premiers par Python
Lors de l'écriture d'un programme en Python
Jouez des sons en Python en supposant que le clavier est un clavier de piano
[Python] Temps d'exécution lorsqu'une fonction est saisie dans une valeur de dictionnaire
J'ai créé un programme de sortie de table de nombres premiers dans différentes langues
Un script qui renvoie 0, 1 attaché au premier Python prime
Quoi de neuf dans datetime qui est un peu plus utile dans Python 3
[Python] Un programme qui crée des escaliers avec #
J'ai fait un programme de gestion de la paie en Python!
Projet Euler # 7 "1000 1er nombre premier" en Python
Ecrire un programme de chiffrement Caesar en Python
Hash en Perl est un dictionnaire en Python
Un programme qui utilise Python pour lire des fichiers indésirables
[Python] Un programme qui arrondit le score
[Python] Un programme qui calcule le nombre de segments de chocolat qui remplissent les conditions
[Python] Un programme qui calcule le nombre de chaussettes jumelées
Un mémo que j'ai écrit un tri rapide en Python
Énumération des nombres premiers et jugement des nombres premiers en Python
Décomposition en facteurs premiers ver.1 des entiers entrés en Python
Notes de programme simples Pub / Sub en Python
J'ai créé un programme cryptographique César en Python.
[Débutant] Que se passe-t-il si j'écris un programme qui s'exécute sur php en Python?
[Python] Un programme qui calcule le nombre de mises à jour des enregistrements les plus élevés et les plus faibles
Le programme Python est lent! Je veux accélérer! Dans ce cas ...
Ecrire un programme de dynamique moléculaire super simple en python
Recevez des données de dictionnaire à partir de programmes Python avec AppleScript
Essayez d'incorporer Python dans un programme C ++ avec pybind11
Hello World avec un serveur Web simple qui suit WSGI (Web Server Gateway Interface) en Python
Trouvez la partie 575 de Wikipedia en Python
Que contient cette variable (lorsque le script Python est en cours d'exécution)
En Python, créez un décorateur qui accepte dynamiquement les arguments Créer un décorateur
Programme Shell qui devient aho par multiples de 3
Il y a un modèle que le programme ne s'est pas arrêté lors de l'utilisation du thread Python
Nombre premier en Python
[Python] Un programme qui compare les positions des kangourous.
Programme Python qui convertit les données ical en texte
MALSS (introduction), un outil qui prend en charge l'apprentissage automatique en Python
Un programme qui redimensionne automatiquement la taille d'image requise pour les icônes d'application iOS en Python
[Python] Programmation pour trouver le nombre de a dans une chaîne de caractères qui se répète un nombre spécifié de fois.
[Python] Un programme pour trouver le nombre de pommes et d'oranges qui peuvent être récoltées
Programme Python qui recueille quotidiennement des tweets contenant des mots-clés spécifiques et les enregistre en csv
Comment tester cette exception est déclenchée dans python unittest
Une fonction qui divise l'itérable en N morceaux en Python
Un programme qui supprime des caractères spécifiques du texte saisi
Boucle sur un générateur qui renvoie un itérateur de date en Python