O Sistersinspirit.ca facilita a busca por soluções para perguntas cotidianas e complexas com a ajuda de nossa comunidade. Conecte-se com uma comunidade de especialistas prontos para ajudar você a encontrar soluções para suas dúvidas de maneira rápida e precisa. Nossa plataforma oferece uma experiência contínua para encontrar respostas confiáveis de uma rede de profissionais experientes.

Faça um programa que exiba os primeiros 20 números primos.

Sagot :

#include <iostream>

using namespace std;

bool verifier (int x){

   int divisores=0;

   for (int i=1;i<=x;i++){

       if (x%i==0) divisores++;

   }

   bool primo;

   if (divisores==2)primo=true;

   else primo = false;

   return primo;

}

int main() {

  for (int a=0;a<72;a++){

      if (verifier(a)==true){

          cout << a << "\t";

      }

  }

  return 0;

}

Fiz o código em Python.

  • Versão sem recursão:

def ehPrimo(p):

"""Retorna True se p é primo, False caso contrario."""

for i in range(2, p):

if p%i == 0:

return False

return True

def nPrimos(n):

"""Imprime n primos."""

num = 2

contador = 0

while contador < 20:

if ehPrimo(num):

print(num)

contador+=1

num+=1

nPrimos(20)

  • Versão com recursão:

def proxPrimo(p):

"""Retorna o primeiro primo após p."""

for i in range(2, p):

if (p+1)%i == 0:

return proxPrimo(p+1)

return p+1

def nPrimos(n):

"""Imprime os n primeiros primos."""

num = 1

for contador in range(n):

num = proxPrimo(num)

print(num)

nPrimos(20)