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

Runtime Error!!! Why?? For help!!

Posted by Chenqiandong at 2009-12-17 12:52:53 on Problem 2635
#include <stdio.h>
#include <memory.h>
#include <string.h>
int primelist[500000];
bool isnotprime[1000005];
void Sai()
{
    int i,j,num;
    memset(isnotprime,0,sizeof(isnotprime));
	isnotprime[0] = isnotprime[1] = 1;
	num = 0;
	for(i = 2;i <= 1000000;i++)
	{
	    if(!isnotprime[i])
		{
		    primelist[num++] = i;
			if(1LL * i * i > 1LL * 1000000) continue;
			for(j =1LL * i * i;j <= 1000000;j += i)
				isnotprime[j] = 1;
		}
	}
	//for(i = 0;i < ;i++)
	//printf("%d %d\n%lld",primelist[num-2],primelist[num-1],(long long)primelist[num-2]*primelist[num-1]);
}
int main()
{
    int i,j,length,k,s,t,x;
	char a[105];
	int arr[50];
	Sai();
	while(1)
	{
	    scanf("%s %d",a,&t);
		if(t == 0) break;
		length = strlen(a);//printf("%d\n",length);
		for(i = 1;i <= 3;i++)
			if((length - i) % 3 == 0)
				break;
		memset(arr,0,sizeof(arr));
		for(j = 0;j < i;j++)
			arr[0] = arr[0] * 10 + (a[j] - '0');
		k = 0;x = 0;
		for(j = i;j < length;j++)
		{
		    k++;
			if(k % 3 == 1) x++;
			arr[x] = arr[x] * 10 + (a[j] - '0');
		}
		s = 1;
		for(i = 0;primelist[i] < t;i++)
		{
			s = 0;
			for(j = 0;j <= x;j++)
		        s = (s * 1000 + arr[j]) % primelist[i];
			if(s == 0) break;
		}
		if(s == 0) printf("BAD %d\n",primelist[i]);
		else printf("GOOD\n");
	}
	return 0;
}

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