题目描述
大家都知道素数是数学中很有意思的一类数,或许聪明的你已经知道了如何判定一个数是否是素数,但今天不一样了,你的任务是求第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\n",a[k-1]);
    return 0;

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-22
  • 2022-12-23
  • 2022-12-23
  • 2021-09-01
  • 2021-11-07
猜你喜欢
  • 2021-09-18
  • 2021-11-01
  • 2021-06-09
  • 2022-12-23
  • 2022-12-23
  • 2021-10-28
  • 2021-09-26
相关资源
相似解决方案