题目
给定多行,一行一个整数i,输出第i个素数(素数2是第1个素数),每个结果一行,最后一行有回车;直至输入结束
i<100010
例子
输入
1
2
5
3
输出
2
3
11
5
我的解答
#include<stdio.h>
#define N 100010
int prime(int n);
long int Pprime(long int i);
main()
{
int count=0;
long int i=0,j=0,a[NN]={0};
for(i;i<N;i++)
{
scanf("%ld",&a[i]);count++;
}
for(i=0;i<count;i++)
printf("%ld\n",Pprime(a[i]));
printf("\n");
}
int prime(long int n)
{
int i;
if(n==0||n==1)return 0;
if(n==2)return 1;
for(i=2;i<n;i++)
{
if(n%i==0) return 0;
else if(n!=i+1) continue;
else return 1;
}
}
long int Pprime(long int i)
{
int counter=0;
long int j;
for(j=1;j<100000000;j++)
{
if(prime(j)==1)
{counter++;}
while(i==counter)
return j;
}
}
弱鸡的提问
怎么结束数组的输入且满足题干要求?
感谢大佬!
祝好