求第10001个素数
原题目
判断一个数是不是素数,只需要判断除了1和它本身外有没有其他的因数。
暴力求解,代码如下
#include<iostream>
#include<cmath>
using namespace std;
bool is_prime(int k)//判断是不是素数
{
for (int i = 2; i <= sqrt(k); i++) //不用遍历所有的数,如果一个数从2到它的平方根都没有它的因数,
{ //那么它就是素数
if (k % i == 0) return false;
}
return true;
}
int main()
{
int i = 2, j = 4;
while (1)
{
if (is_prime(j))
i++;
if (i == 10001) break;
j++;
}
cout << j;
}