Verifique se um número é o principal em Python
- Use o método de iteração simples para determinar um número primo em Python
- 
          
            Use a função sympy.isprime()para verificar se o número fornecido é um número primo em Python
 
Um número primo pode ser representado como um número natural sem outros divisores positivos, exceto para o número 1 e ele mesmo. O número 1 não é contado na lista de primos.
Este tutorial discutirá os diferentes métodos que você pode usar para verificar se um número é um número primo.
Use o método de iteração simples para determinar um número primo em Python
Neste método, usamos um método de iteração simples usando um loop for ou while. Repita os números começando de 2 e subindo até K/2 e verificando se algum desses números divide K.
Se for encontrado um número que corresponda a esse critério, False será retornado. Por outro lado, se todos os números não corresponderem a este critério, o número fornecido K é um número primo e o valor True é devolvido.
O código a seguir usa o método de iteração simples para verificar se o número fornecido é um número primo em Python.
k = 13
# 1 not being a prime number, is ignored
if k > 1:
    for i in range(2, int(k / 2) + 1):
        if (k % i) == 0:
            print("It is not a prime number")
            break
    else:
        print("It is a prime number")
else:
    print("It is not a prime number")
Resultado:
It is a prime number
Você pode otimizar o código acima aplicando algumas alterações. Faça as seguintes otimizações para tornar o código ainda mais rápido:
- 
Verifique até que a raiz do número fornecido seja alcançada em vez de verificar o número exato. Esse processo basicamente elimina a redundância que ocorre quando um fator maior do número Ké um múltiplo de um fator menor que já foi iterado.
- 
Todos os primos existem na forma de 6n ± 1, com 2 e 3 sendo as únicas exceções. Portanto, verificar a divisibilidade do número fornecido com 2 e 3 e, em seguida, verificar através de cada número que tem a forma 6n ± 1 é a solução mais eficiente. 
O código a seguir usa o método de iteração simples otimizado para verificar se o número fornecido é um número primo em Python.
def isitPrime(k):
    if k == 2 or k == 3:
        return True
    if k % 2 == 0 or k < 2:
        return False
    for i in range(3, int(k ** 0.5) + 1, 2):
        if k % i == 0:
            return False
    return True
print(isitPrime(13))
Resultado:
True
O método de iteração otimizado o torna mais rápido e eficiente do que o método de iteração simples em cerca de 30%.
Use a função sympy.isprime() para verificar se o número fornecido é um número primo em Python
SymPy é uma biblioteca em Python usada para implementar matemática simbólica. Pretende ser um sistema de álgebra computacional (CAS) simplista que contém todas as características essenciais. A instalação deste módulo é necessária para este método, e pode ser baixado simplesmente usando o comando pip.
O sympy.isprime() é uma função embutida no módulo SymPy e pode ser utilizado para verificar possíveis números primos. É uma função direta e retorna True se o número a ser verificado for primo e False se o número não for primo.
O código a seguir usa a função sympy.isprime() para verificar se o número fornecido é um número primo em Python.
from sympy import *
isprime(8)
isprime(11)
Resultado:
False
True
Devemos observar que qualquer número negativo não se enquadra no critério de números primos. A saída dessas funções pode variar se qualquer número negativo for verificado em relação a ela.
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn