Contador de primos consecutivos

27/03/2020

0

C# C C++

Preciso de um algoritmo que gera 4 numeros primos consecutivos, a partir de uma funcao que descobre se um numero é ou nao primo (ja tenho) e um numero n que o usuario fornece para a condicao do primeiro while. Alguem consegue me ajudar?
Tenho uma parte do algoritmo feita por mim que nao funciona:

printf("n: ");
scanf("%d", &n);

n1 = 2;
n2 = 3;
n3 = 5;
n4 = 7;
nant = 1;

while ((n1 * n1) + (n2 * n2) + (n3 * n3) + (n4 * n4) < n)
{
while (prim(n1) == 1 && n1 <= nant)
{
n1 += 1;
}
while (prim(n2) == 1 && n2 <= n1)
{
n2 += 1;
}
while (prim(n3) == 1 && n3 <= n2)
{
n3 += 1;
}
while (prim(n4) == 1 && n4 <= n3)
{
n4 += 1;
}

nant += 1;
}
Thiago

Thiago

Responder

Posts

20/05/2020

Marllon Ramos

Vê se essa solução te ajuda, segue:

int[] numeros = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 };

foreach (var numero in numeros)
{
int divisor = 1;
int qtdDeDivisoes = 0;

while (numero >= divisor)
{
qtdDeDivisoes += numero % divisor == 0 ? 1 : 0;
divisor++;
}

if (qtdDeDivisoes < 3)
Console.WriteLine(numero);
}
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar