【慢慢学算法】:求较大素数 筛选法

   题目描述:   

Output the k-th prime number.

输入:

k≤10000

输出:

The k-th prime number.

样例输入:
3
7
样例输出:
5
17
      代码:    
#include<stdio.h>
#include<math.h>
#include<string.h>
#define N 200000

int main()
{
    int x[N] = {0}; 
    int temp;
    int index;
    int k;
    x[0] = x[1] = 1;
    for(int i = 2; i < N; i++)
    {
	if(x[i] == 0)
	{
	    temp = 2 * i;
	    while(temp <= N)
	    {
		x[temp] = 1;
		temp += i;
	    }
	}
    }
    while(scanf("%d",&k) != EOF)
    {
	index = 0;
    for(int i = 2; i < N; i++)
    {
	if(x[i] == 0)
	    index++;
	if(index == k)
	{
	    printf("%d\n",i);
	    break;
	}
    }
    }
    
    return 0;
}

  

 
原文地址:https://www.cnblogs.com/VortexPiggy/p/2497957.html