Gerar números primos no python

Gerar números primos no python
Você aprenderá a gerar e obter números primos usando o Python neste tutorial, identificando todos os números primos dentro de uma faixa especificada de valores. Números primos são aqueles que têm apenas o número em si e o número 1 como fatores. Em outras palavras, apenas o número 1 e o próprio número podem dividir um número primo. Eles não são completamente divisíveis por nenhum outro número. Trabalhar com números primos é uma habilidade que é frequentemente usada em campos como segurança cibernética.

Depois de terminar este tutorial, você saberá:

  • Quais são os números primos?
  • Vários métodos Python para obter números primos.
  • Otimização do algoritmo Python para obter números primos.
  • Usando Python, encontre todos os números primos dentro de uma gama especificada de valores.

Quais são os números primos?

No Python, os números primos são números de int que são maiores que 1 e não têm outros fatores, mas eles mesmos e 1. Um número primo é um como 5, enquanto um número não primário é quatro (já que 2 x 2 é igual a 4). Os números 2, 11, 23 e 43 estão entre os poucos números primos.

Como os números primos podem ser gerados em python?

Uma série de números primos pode parecer 2, 3, 5, 7, 9, 11, 13 e assim por diante. A lógica pode ser implementada em Python para recriar essa sequência de números primos e determinar se algum número determinado é primitivo ou não. Usando bibliotecas Python, loops, condições e a função Lambda são algumas técnicas para realizar esta tarefa.

Existem várias abordagens para implementar números primos no Python; Explicamos alguns nos exemplos abaixo.

Exemplo # 1: Gerando sequência de números primos usando a função lambda

Os números primos podem ser gerados usando a função Lambda, como pode ser visto no exemplo abaixo.

Código:

def prime_seq (num):
para i no intervalo (2, num):
se primeiro (i) == true:
Imprimir (i, end = "")
outro:
passar
num = int (input ("Digite o intervalo:")))
prime = lambda num: all (num%x != 0 para x em intervalo (2, int (num **.5) +1))
Prime_seq (num)

Saída:

Nós inserimos o valor da chave 30, para que a função imprimiu todos os números primos de 2 a 30. Usando uma função Lambda, que é uma função órfã ou uma função anônima, é usada no programa acima para determinar o intervalo de números primos. Projetamos o programa de tal maneira que, quando executarmos o script, o programa solicitará ao usuário que insira um valor de chave. Em seguida, o programa gerará a sequência ou série de números primos que começam de 2 até o valor da chave especificado.

O fluxo do programa:

O usuário insere o intervalo de entrada e o método de entrada python é usado para receber essa entrada. A entrada é explicitamente transformada no tipo de dados numérico INT. No processo de invocar a função, o elenco é fornecido como um argumento. A função Lambda é invocada pela função definida. Como resultado, a função Lambda é invocada para cada número ou valor inteiro de 2 para um valor de chave especificado e uma verificação primordial é executada. Para fazer essa verificação primordial, o número da lógica%2! = 0 é usado.

Exemplo # 2: Gerando números primos usando o loop

Vimos como obter uma sequência de números primos usando a função Lambda. Agora, usaremos o loop for e uma condição para gerar uma sequência de números primos.

Código:

num = int (entrada ("Entre o intervalo:")))
para i no intervalo (2, num):
para x em intervalo (2, i):
if (i%x == 0):
quebrar
outro:
impressão (i)

Saída:

Nosso programa obteve uma série de números primos de 2 a 13 com sucesso quando entramos no valor 15. Este programa usa loops e condições para obter uma série de números primos. Ele é executado de tal maneira que, depois que o usuário insere um número inteiro específico, todos os números primos entre o intervalo que começam de 2 e o número de entrada especificado serão gerados e impressos.

O fluxo do programa:

O usuário insere o intervalo de entrada e a função input () leva essa entrada. A entrada especificada é então explicitamente transformada em um tipo int. Neste exemplo, dois números inteiros são determinados por looping aninhado; O primeiro loop garante que todos os números ou números inteiros estão dentro do intervalo de tecidos. A verificação do número primordial é determinada pelo segundo loop para. O número inteiro tratado é exibido/impresso no console se o resultado do processo para cada valor inteiro denominado não for 0. Cada número no intervalo especificado de dois para o valor de entrada é submetido a um loop que repete esse processo.

Exemplo # 3: gerando números primos usando os loops enquanto

Agora, usaremos os loops para obter números primos sob um intervalo especificado.

Código:

range = int (input ('digite o intervalo:')))
num = 1
enquanto (num <= range):
contagem = 0
x = 2
enquanto (x <= num//2):
if (num % x == 0):
contagem = contagem + 1
quebrar
x = x + 1
if (count == 0 e num!= 1):
print (" %d" %num, end = ")
num = num + 1

Saída:

Especificamos o valor de entrada de 45 e o programa extraiu todos os números primos até o número '45'. No código acima, os loops e as condições do tempo são usados ​​para determinar o intervalo de números primos. Depois que o usuário insere um número inteiro, todos os números primos que caem entre o intervalo de 2 e a entrada especificada são gerados e exibidos.

O fluxo do programa:

O usuário insere o intervalo de entrada e o método de entrada python é usado para receber essa entrada. A entrada foi então lançada no Datatype Int. Aqui, a verificação primária é executada usando um loop de tempo. O controle de loop é baseado em uma verificação condicional e o processo de ciclismo continuará até que o valor inserido exceda a variável de controle de loop. A variável para controle de loop é inicializada com 1 e aumenta em 1 após cada loop. Novamente, se o resultado do processo para cada valor inteiro denominado não for zero, o número inteiro tratado será impresso. Para cada valor inteiro de 1 para o valor da chave especificado, esse processo será repetido e executado.

Exemplo # 4: Gerando números primos usando a biblioteca Sympy em Python

Usando a simpy.função primerange () na biblioteca Sympy, podemos obter uma lista contendo números primos dentro de um intervalo especificado usando esta função.

Código:

importar simpia
l_limit = int (entrada ("Limite inferior:")))
h_limit = int (entrada ("Limite superior:")))
prime_numbers = list (simpy.primerange (l_limit, h_limit+1))
print ("números primos:", prime_numbers)

Saída:

Este programa usou uma biblioteca predefinida para encontrar a gama de números primos. Neste exemplo, o módulo Sympy é usado para executar a verificação primária e a função gerou uma lista com números primos que estão dentro dos limites mais baixos e mais altos, especificados por nós.

O fluxo do programa:

O usuário entra no intervalo inferior e mais alto. A entrada do usuário é então processada pela função de entrada Python. A entrada obtida é lançada em um tipo int. O método primerange () do módulo Sympy assume os valores de faixa mais baixos e mais altos como entrada. A saída da função é impressa após ser lançada em uma variável de lista.

Verificando números primos

Vimos abordagens diferentes para gerar números primos. Agora, você também deve poder verificar se um número é primo ou não. Para isso, você pode verificar o programa dado abaixo. A abordagem mais simples e mais básica é iterar através da gama de números inteiros positivos de dois ao número de entrada e verificar se o intervalo e o módulo do número são iguais a zero. Se isso acontecer, o número não é um número primo, porque tem um divisor diferente de 'um' e o próprio número.

Código:

Def CheckPrime (n):
Se n> 1:
para i no intervalo (2, n):
Se n % i == 0:
retorna falso
retornar verdadeiro
retorna falso
Imprimir (CheckPrime (13))
Imprimir (CheckPrime (12))
Saída:

Para o número 13, a função retornou verdadeira e falsa para o número 12. Definimos a função 'CheckPrime', que só aceita um único número inteiro como um argumento porque os números primos devem ser maiores que 1, se o número de entrada não for maior que um, a função retorna falsa. Em seguida, itera sobre o intervalo de dois ao número especificado. A função retornará falsa se o módulo (%) do número inserido 'num' e a iteração 'i' for igual a zero. Caso contrário, o método retorna verdadeiro.

Conclusão

Neste tutorial, vimos pela primeira vez a introdução aos números primos e depois discutimos como podemos gerar números aleatórios no Python. Usamos abordagens diferentes para gerar uma série/gama de números primos. Primeiro, usamos a função Lambda, em segundo lugar, usamos para loops e condições, depois usamos o loop while e, finalmente, usamos o método primeRange () do módulo Sympy para gerar números aleatórios dentro de um intervalo especificado. Também implementamos um exemplo para verificar se um número é primo ou não.