质数
突然想知道第 n 个质数是多少,比如说我的生日是 11 月 24 日,那么属于我的那个质数是多少呢?
先写个判断一个数是不是质数的函数
bool isPrime(int n){
if (n == 1){
return false;
}else {
for (int i = 2; i <= floor(sqrt(n)); i++){
if (n % i == 0){
return false;
}
}
return true;
}
}
然后调用它
int main()
{
int n;
cin >> n;
int count = 0;
int j = 2;
while (true) {
if (isPrime(j)){
count += 1;
cout << j << endl;
if (count >= n)
{
break;
}
}
j += 1;
}
}
结果显示第 1124 个质数为 9043。
多玩几次,第 112 个质数为 613,第 11240 个质数为 119293。可以发现,质数在慢慢变稀疏。