第 n 小的质数

· · 题解

题意要求我们找出第 n 小的质数。

根据题意,我们需要知道: 1 不是质数,然后进行判断质数。

判断质数可以很方便地用到 sqrt

sqrt 的用法如此格式:sqrt(n)

其中 sqrt 求的是平方根,能减少循环次数。

若为质数时,进行累加就行了。

代码如下:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    long long n,sum=0;
    cin >> n;
    for(int i=2;;i++)
    {
        bool a=1;
        for(int j=2;j<=sqrt(i);j++)
            if(i%j==0)
            {
                a=0;
                break;
            }
        if(a)
            sum++;
        if(sum==n)
        {
            cout << i << endl;
            exit(0);
        }
    }
    return 0;
}