#include<iostream>
#include<cstdio>
#include<cmath>
#include<queue>
#include<cctype>
#include<cstring>
using namespace std;
int main() {
long long n,sum=0;
bool a=true;
cin>>n;
for (int i=2;i<=400000;i++){
a=true;
for (int j=2;j<=sqrt(i);j++)
if (i%j==0){
a=false;
break;
}
if (a==false)
continue;
sum++;
if (sum==n){
cout<<i;
break;
}
}
return 0;
}
这是一段输出第n小质数的代码,i和j都是从 2 开始枚举的,但时当i=2且j=2时,i会被筛掉,但 2 也是质数,且运行时也没有被筛掉,请问这是为什么?(注:本人 LATEX 萌新,格式不好请轻喷)