我为项目euler问题#7编写了这段代码(查找第10001个素数)但是它没有工作,并且抛出了各种明显错误的答案(例如偶数)
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
long long numprime = 1;
long long counter = 3;
long long arrofprimes[10001];
for(int i = 0; i < 10001; i++)
{
arrofprimes[i] = 2;
}
while(true)
{
if(numprime == 10001)
{
break;
}
bool isprime = true;
for(int i = 0; i < numprime; i++)
{
if((counter % arrofprimes[i]) == 0)
{
isprime = false;
break;
}
}
if(isprime)
{
numprime++;
arrofprimes[numprime - 1] = counter;
}
counter++;
}
cout << counter << endl;
}
答案 0 :(得分:2)
在找到第10001个素数后,你已经增加了计数器,给你一个一个一个错误。