| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
我就是这么干~~~~的,为何TLE??(附代码)(大牛门指点一下)#include<stdio.h>
int a[1000005];
int prime[100000];
//int length;
void creatprime()
{
int i,j;
for(i=0;i<1000005;i++)
a[i]=0;
//getchar();
for(i=2;i<1000005/2;i++)
{
if(a[i]==1)
continue;
for(j=2;i*j<1000005;j++)
a[i*j]=1;
}
j=0;
//getchar();
for(i=2;i<1000005;i++)
if(a[i]==0)
{
prime[j++]=i;
// printf("%d ",prime[j-1]);
}
//length=j;
}
void main()
{
int task,i,j;
int done=0;
creatprime();
while(scanf("%d",&task),task!=0)
{
done=0;
for(i=0;prime[i]<task;i++)
for(j=i;prime[j]<task;j++)
if(prime[j]+prime[i]==task){
done=1;
goto out;
}
out: if(done=0)
printf("Goldbach's conjecture is wrong.\n");
else
printf("%d = %d + %d\n",task,prime[i],prime[j]);
}
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator