题目描述

输入一个正整数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;
}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐