信息学奥赛c++语言:第n小的质数
输入一个正整数n,求第n小的质数。一个不超过10000的正整数n。
·
题目描述
输入一个正整数n,求第n小的质数。
输入
一个不超过10000的正整数n。
输出
第n小的质数。
样例输入
10
样例输出
29
代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
long n,i;
cin>>n;
// 开始一个外层 for 循环,从 2 开始遍历数字,由于没有指定结束条件,会一直循环直到遇到 break 语句
for(i=2;;i++)
{
int b=1;
// 定义一个整型变量 b 并初始化为 1,b 作为标志变量,用于标记当前数字 i 是否为素数
// 初始假设 i 是素数
for(int j=2;j*j<=i;j++)
if(i%j==0) // 判断 i 是否能被 j 整除
{
b=0; // 如果能被整除,说明 i 不是素数,将标志变量 b 置为 0
break; // 一旦发现 i 不是素数,就跳出内层循环,无需继续检查
}
if(b) // 判断标志变量 b 的值
{
n--; // 如果 b 为 1,说明 i 是素数,将 n 的值减 1
if(n==0)// 判断 n 是否为 0
{
break;// 如果 n 为 0,说明已经找到了第 n 个素数,跳出外层循环
}
}
}
cout<<i<<endl; // 输出找到的第 n 个素数 i
return 0;
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)