Exercício 05-24:

Modifique o programa anterior de forma a ler um número n. Imprima os n primeiros números primos.

Resposta:

##############################################################################
# Parte do livro Introdução à Programação com Python
# Autor: Nilo Ney Coutinho Menezes
# Editora Novatec (c) 2010-2024
# Quarta Edição - Março/2024 - ISBN 978-85-7522-886-9
#
# Site: https://python.nilo.pro.br/
#
# Arquivo: capitulo 05/exercicio-05-24.py
##############################################################################
quantidade_de_primos = int(input("Digite a quantidade de números primos a gerar: "))
if quantidade_de_primos < 0:
    print("Número inválido. Digite apenas valores positivos")
else:
    if quantidade_de_primos >= 1:
        print("2")  # 2 é o único número que é primo e par ao mesmo tempo
    primos_gerados = 1  # logo é o primeiro número primo gerado
    próximo_primo = 3  # o próximo primo começa então com 3
    while primos_gerados < quantidade_de_primos:
        # Como todos os primos seguintes são ímpares
        divisor = 3
        while divisor < próximo_primo:
            # Se o resto for zero, o número é divisível
            if próximo_primo % divisor == 0:
                break
            # Incrementa o divisor
            divisor = divisor + 2
        # Quando o número é primo, ele é divisível apenas por ele mesmo
        if divisor == próximo_primo:
            print(próximo_primo)
            primos_gerados = primos_gerados + 1
        # passa para o próximo número ímpar,
        # pois os pares não são primos, salvo 2
        próximo_primo = próximo_primo + 2
Clique aqui para baixar o arquivo