第k大质数

题目描述
大家都知道素数是数学中很有意思的一类数,或许聪明的你已经知道了如何判定一个数是否是素数,但今天不一样了,你的任务是求第K大素数。你能快速完成吗?

输入
    输入只有一个整数K。 ps:我们只关心那些正整数。
输出
输出只有一行,即第K大素数。

示例输入
5
示例输出
11

#include <stdio.h>
#include <math.h>
#include <string.h>
int Primer(int n)//判断素数
{
    if(n <= 1)
        return 0;
    for(int i = 2; i <= sqrt(n); i++)
    {
        if(n % i == 0)
            return 0;
        else
            continue;
    }
    return 1;
}
int main()
{
    int k,i;
    int a[10010];
    memset(a,0,sizeof(a));
    scanf("%d",&k);
    a[0] = 2;
    a[1] = 3;
    i=2;
    for(int n =5; i <10010; n += 2)//筛选,因为数值较大
    {
        if(Primer(n))
           a[i++] = n;
    }
    printf("%d
",a[k-1]);
    return 0;
原文地址:https://www.cnblogs.com/zl1991/p/13156315.html