Eu criei um programa pra calcular números primos que utiliza vetores, mas não consigo armazena mais de, exatamente, 520591 números. Como posso fazer para aumentar meu vetor?
n=100000; // escrever no próprio programa, antes da execução, quantos numero primos serão calculados. Números acima de 520591 dao ERRO. Por que isso e como aumentar // a capacidade????
Pergunta
Carlos Jedwab
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int x,p,n,i,j;
cout << "2\n3\n5\n7\n";
n=100000; // escrever no próprio programa, antes da execução, quantos numero primos serão calculados. Números acima de 520591 dao ERRO. Por que isso e como aumentar // a capacidade????
int a[n];
a[0] = 2;
a[1] = 3;
a[2] = 5;
a[3] = 7;
x = 11;
i = 4;
j = 1;
p = a[j];
while (p <= sqrt(x) && i <= n-1)
{
if (x%p==0)
{
x += 2;
j = 1;
p = a[j];
}
else
{
if (a[j+1] > sqrt(x))
{
a=x;
cout << a << endl;
x += 2;
j = 1;
p = a[j];
i++;
}
else
j++;
p = a[j];
}
}
return 0;
}
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.