一道ACM题,请求指教,该怎么解决
一道ACM题,请求指教
我在HDOJ ACM 1216 Assistance Required做的这道题程序提交不上去,不知道错在哪了,请求各位大神!!!!!
我的代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int prime[4000]={0};
void choseprime(int n )
{
prime[1]=prime[0]=1;
for(int i=2;i*i<=n;i++)
{
if(prime[i]==0)
for(int j=2*i;j<n;j+=i)
prime[j]=1;
}
}
int main()
{
int n,count;
choseprime(3050);
while(scanf("%d",&n)!= EOF&&n!=0 )
{
count=0;
for(int i=2;i<=3010;i++)
{
if(prime[i]==0) count++;
if(count==n)
{
printf("%d\n",i);
break;
}
}
}
system("pause");
return 0;
}
------解决方案--------------------
http://blog.****.net/wangbaomi/article/details/7548062
我在HDOJ ACM 1216 Assistance Required做的这道题程序提交不上去,不知道错在哪了,请求各位大神!!!!!
我的代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int prime[4000]={0};
void choseprime(int n )
{
prime[1]=prime[0]=1;
for(int i=2;i*i<=n;i++)
{
if(prime[i]==0)
for(int j=2*i;j<n;j+=i)
prime[j]=1;
}
}
int main()
{
int n,count;
choseprime(3050);
while(scanf("%d",&n)!= EOF&&n!=0 )
{
count=0;
for(int i=2;i<=3010;i++)
{
if(prime[i]==0) count++;
if(count==n)
{
printf("%d\n",i);
break;
}
}
}
system("pause");
return 0;
}
------解决方案--------------------
http://blog.****.net/wangbaomi/article/details/7548062