Programa Python para verificar o número principal

Exemplo para verificar se um inteiro é um número primo ou não usando o loop for e a instrução if… else. Se o número não for primo, é explicado na saída porque ele não é um número primo.

Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação Python:

  • Instrução Python if… else
  • Python for Loop
  • Python quebrar e continuar

Um número inteiro positivo maior que 1 que não possui outros fatores exceto 1 e o próprio número é chamado de número primo. 2, 3, 5, 7 etc. são números primos, pois não possuem nenhum outro fator. Mas 6 não é primo (é composto), pois 2 x 3 = 6,.

Código fonte

 # Program to check if a number is prime or not num = 407 # To take input from the user #num = int(input("Enter a number: ")) # prime numbers are greater than 1 if num> 1: # check for factors for i in range(2,num): if (num % i) == 0: print(num,"is not a prime number") print(i,"times",num//i,"is",num) break else: print(num,"is a prime number") # if input number is less than # or equal to 1, it is not prime else: print(num,"is not a prime number") 

Resultado

 407 não é um número primo 11 vezes 37 é 407 

Neste programa, a variável num é verificada se é primo ou não. Números menores ou iguais a 1 não são números primos. Portanto, só procederemos se o num for maior que 1.

Verificamos se num é exatamente divisível por qualquer número de 2 a num - 1. Se encontrarmos um fator nessa faixa, o número não é primo. Caso contrário, o número é primo.

Podemos diminuir o intervalo de números onde procuramos os fatores.

No programa acima, nosso intervalo de pesquisa é de 2 a num - 1.

Poderíamos ter usado o intervalo, range(2,num//2)ou range(2,math.floor(math.sqrt(num))). O último intervalo é baseado no fato de que um número composto deve ter um fator menor do que a raiz quadrada desse número. Caso contrário, o número é primo.

Você pode alterar o valor da variável num no código-fonte acima para verificar se um número é primo ou não para outros inteiros.

Artigos interessantes...