Escreva um programa que leia um inteiro não negativo
e imprima a soma dos
primeiros números primos.
Passo 1
O programa deve ler um inteiro não negativo n e calcular a soma dos primeiros n números primos. Precisamos saber gerar números primos em sequência e acumulá-los até termos n primos.
Passo 2
Se n for igual a zero, não há primos para somar, então a soma é zero—podemos tratar esse caso especial logo no início.
Passo 3
Definimos uma função is_prime(x) que testa se um inteiro x ≥ 2 é primo: fazemos teste de divisibilidade por todos os inteiros de 2 até /(sqrt(x)/) e, se nenhum dividir x, então x é primo.
Passo 4
Inicializamos count = 0 (quantos primos já encontramos), soma = 0 (acúmulo da soma) e num = 2 (o primeiro candidato a primo).
Passo 5
Enquanto count < n: verificamos se num é primo usando is_prime(num). Se for, fazemos soma += num e count += 1. Em seguida, incrementamos num em 1 e repetimos.
Passo 6
Quando count atingir n, saímos do laço e imprimimos o valor de soma.
Finalizamos o programa imprimindo apenas o resultado conforme requisitado.
Finalizamos o programa imprimindo apenas o resultado conforme requisitado.
Resposta
Programa em Python para somar os n primeiros números primos
def is_prime(x):
if x < 2:
return False
i = 2
while i * i <= x:
if x % i == 0:
return False
i += 1
return True
if x < 2:
return False
i = 2
while i * i <= x:
if x % i == 0:
return False
i += 1
return True
n = int(input()) # lê o inteiro não negativo
if n == 0:
print(0)
else:
count = 0
soma = 0
num = 2
while count < n:
if is_prime(num):
soma += num
count += 1
num += 1
print(soma) # imprime a soma dos n primeiros primos
if n == 0:
print(0)
else:
count = 0
soma = 0
num = 2
while count < n:
if is_prime(num):
soma += num
count += 1
num += 1
print(soma) # imprime a soma dos n primeiros primos