Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

我就是这么干~~~~的,为何TLE??(附代码)(大牛门指点一下)

Posted by superlcc at 2009-07-24 20:35:49 on Problem 2262 and last updated at 2009-07-24 20:36:45
#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:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator