Crie um algoritmo que leia um número N e imprima os N primeiros números primos. O seu programa deve fazer o MíNIMO de interações possíveis.
Passo 1
Beleza, vamos lá! A gente tem que criar um algoritmo que recebe um número
e mostra os primeiros
números primos. Primos são aqueles números maiores que 1 que só são divisíveis por 1 e por eles mesmos. Então, pra resolver isso, vamos precisar saber como identificar se um número é primo e como gerar os primeiros
primos de forma eficiente, sem fazer muitas verificações desnecessárias.
Passo 2
Primeiro, a gente precisa de uma forma de verificar se um número é primo. Para isso, vamos criar uma função que recebe um número e retorna verdadeiro se ele for primo e falso se não for. A ideia é tentar dividir esse número por todos os números menores que ele, começando de 2, e ver se tem algum que divide sem deixar resto.
Passo 3
Mas, pra otimizar, em vez de testar todos os números até
, a gente pode testar apenas até a raiz quadrada de
. Isso porque, se
tem um divisor maior que a raiz quadrada de
, ele vai ter um divisor menor também. Então, isso já diminui bastante o número de verificações.
Passo 4
Agora, vamos criar um contador para contar quantos primos já encontramos e uma variável para os números que estamos testando. Começamos com o número 2, que é o primeiro primo, e vamos testando cada número seguinte até encontramos
primos.
Passo 5
Dentro de um laço (loop), vamos usar a função de verificação de primo para cada número. Se for primo, a gente imprime ele e incrementa o contador. A gente continua esse processo até que o contador chegue em
.
Resposta
Aqui está um exemplo de como isso pode ser implementado em Python:
import math
def eh_primo(n):
if n < 2:
return False
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
return False
return True
def imprimir_primos(N):
contador = 0
num = 2
while contador < N:
if eh_primo(num):
print(num)
contador += 1
num += 1
# Exemplo de uso
N = int(input("Digite o valor de N: "))
imprimir_primos(N)
Esse código vai ler um número
e imprimir os primeiros
números primos, utilizando o mínimo de verificações possíveis graças à otimização na função de verificação de primos.
Exercícios relacionados
Cálculo aproximado de
(Pi) pelo Método de Monte Carlo.
Dada a função
Dada a função
calcule o valor aproximado de
com
interações. Dicas: use random.random() * 2 para gerar valores entre 0 e 2 para as variáveis x e y e conte o número de pontos
que satisfazem a equação dada e divida o resultado por
. Cuidado com o tipo de dados.
Ler um vetor de números inteiros de 30 posições. Depois, ler um número inteiro
, imprimir quantas vezes o número X aparece no vetor.
Crie um algoritmo se imprima os N primeiros números que sejam primos e façam parte da série de Fibonacci UTILIZANDO OBRIGATORIAMENTE FUNÇÕES.
Crie um algoritmo que leia um número decimal (com qualquer número de dígitos) e o converta para a base hexadecimal. A resposta deve ser dada em string.