Maison  >  Article  >  développement back-end  >  Comment déterminer si Python saisit un nombre n pour déterminer s'il s'agit d'un nombre premier

Comment déterminer si Python saisit un nombre n pour déterminer s'il s'agit d'un nombre premier

coldplay.xixi
coldplay.xixioriginal
2021-03-05 15:18:0761820parcourir

Comment saisir un nombre n en python pour déterminer s'il s'agit d'un nombre premier : 1. Utilisez l'instruction for loop et break, le code est [for i in range(2, k+2):if m % i == 0: break】; 2. Utilisez la boucle while et la variable booléenne.

Comment déterminer si Python saisit un nombre n pour déterminer s'il s'agit d'un nombre premier

L'environnement d'exploitation de ce tutoriel : système Windows 7, python version 3.9, ordinateur DELL G3.

Comment python saisit un nombre n pour déterminer s'il s'agit d'un nombre premier :

Un nombre premier (également appelé nombre premier) signifie qu'il ne peut pas être modifié par tout nombre positif sauf 1 et le nombre lui-même. Un entier positif divisible par un entier. Pour déterminer si un entier positif m est un nombre premier, il vous suffit de déterminer si m peut être divisé par n'importe quel entier positif de 2 à la racine m. Si m ne peut être divisé par aucun entier positif dans cette plage, m est un nombre premier. nombre, sinon m est un nombre composé.

Méthode 1 : (Utilisation de l'instruction for loop et break)

import math
m = int(input("请输入一个整数(>1):"))
k = int(math.sqrt(m))
for i in range(2, k+2):
  if m % i == 0:
    break #可以整除,肯定不是素数,结束循环
if i == k+1: print(m, "是素数!")
else: print(m, "是合数!")

Méthode 2 : (Utilisation de la boucle while et de la variable bool)

import math
m = int(input("请输入一个整数(>1):"))
k = int(math.sqrt(m))
flag = True #假设输入的整数为素数
i = 2
while (i <= k and flag == True):
  if (m % i == 0): flag = False #可以整除,肯定不是素数,结束循环
  else: i += 1
if (flag == True): print(m, "是素数!")
else: print(m, "是合数!")

Exemple : Imprimez tous les nombres premiers entre 100 et 200, en sortie 10 par ligne

import math;n=0
for m in range(101,201,2):
  k = int(math.sqrt(m))
  for i in range(2,k+2):
    if m % i == 0:break
  if i == k+1:
    if n % 10 == 0:print()
    print(&#39;%d&#39; % m,end=&#39; &#39;)
    n += 1

Recommandations d'apprentissage gratuites associées : Tutoriel vidéo Python

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn