C ++代码找不到10001个素数

时间:2017-09-12 15:23:57

标签: c++

我为项目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;
}

1 个答案:

答案 0 :(得分:2)

在找到第10001个素数后,你已经增加了计数器,给你一个一个一个错误。