C 代码未找到10001th Prime

C++ code not finding 10001th prime

本文关键字:10001th Prime 代码      更新时间:2023-10-16

我为项目Euler问题#7编写了此代码(找到10001st Prime Number),但它不起作用,并且抛出了各种明显错误的答案(例如偶数)

#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;
}

您已经在找到10001st Prime之后递增了计数器,给您一个逐一错误。