【题目描述】

蒜头君有一个正整数 n,他想求第 n小的质数。

【输入格式】

一个不超过 10000的正整数 n。

【输出格式】

第 n 小的质数。

输出时每行末尾的多余空格,不影响答案正确性

【样例输入】

10

【样例输出】

29

【题解说明】

从第一个开始列举,前n个就第n小的那个。第一个最小,第二个次小

#include<cstdio>
#include<cmath>
int isprime(int m) { //判断一个数是不是质数 
	int i;
	for(i=2; i<=sqrt(m); i++) 
		if(m%i==0)
		        return 0;
	return 1;
}
int main() {
	int n,sum=0;//定义第n小,质数累加 
	scanf("%d",&amp;n); 
	for(int i=2; ;i++)
	{
		if( isprime(i)==1)
			sum++;
		if(sum==n)  //等于第n小的时候输出 
		{
			printf("%d\n",i);
			return 0;	
		}		
	}
	return 0;
}

返回目录:题解目录