青少年编程知识记录 codecoming

第n小质数

【题目描述】

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

【输入格式】

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

【输出格式】

第 n 小的质数。

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

【样例输入】

10

【样例输出】

29

【题解说明】

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#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;
}



(adsbygoogle = window.adsbygoogle || []).push({});

作者:亿万年的星光 分类:题解目录 浏览: