和尚特烦恼2——第几个素数

Description

和尚解决了上一次的难题之后。又碰到了新的难题。这次也是关于素数的。一位施主首先把素数编号。最小的素数2编号为1,然后依次增加。施主要要求和尚迅速回答出对应编号的素数。

Input

输入数据有多组,首先输入一个整数n(n<100),表示测试数据的组数。然后有n个正整数m(m<10000).

Output

对于每个正整数编号,输出对应的素数。每个输出占一行

Sample Input

3
1
2
3

Sample Output

2
3

5

源代码:

#include<stdio.h> #include<math.h> int f(int n) { if(n==2) return 1; int i; for(i=2;i<=sqrt(n);i++) { if(n%i==0) return 0; } return 1; } int main() { int N,x,i; scanf("%d",&N); while(N--) { int n; scanf("%d",&n); for(i=2,x=0;x!=n;i++) { if(f(i)==1) x++; else continue; } printf("%d\n",i-1); } return 0; }

阅读更多
文章标签: c语言
上一篇和尚特烦恼1——是不是素数
下一篇和尚特烦恼3——何时能下山
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭