题目描述:
Output the k-th prime number.
输入:
k≤10000
输出:
The k-th prime number.
样例输入:
3
7
样例输出:
5
Output the k-th prime number.
输入:
k≤10000
输出:
The k-th prime number.
样例输入:
3
7
样例输出:
5
17
#include<iostream>
#include<cmath>
using namespace std;
int isPrime(int n);
int main()
{
int i,j,flag,s=1,k,A[10000];
A[0]=2;
for(i=3;i<=104729;i+=2)//求出前10000个素数
{
if(isPrime(i))
A[s++]=i;
}
while(cin>>k)//输出第k个素数
{
cout<<A[k-1]<<endl;
}
return 0;
}
int isPrime(int n)//判断素数,从3开始,减少不少计算量
{
int flag=1;
int k=(int)sqrt(n*1.0)+1;
if(n%2==0)flag=0;
for(int i=3;i<=k;i+=2)
{
if(n%i==0)
flag=0;
}
return flag;
}