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

好久没1A了 贴代码

Posted by LZJTURUSHMAN at 2011-05-09 22:36:11 on Problem 3982
#include<stdio.h>
#include<string.h>
#define MAX 1001
void Clear(int a[])
{
	int i;
	for(i=0;i<MAX;++i)
		a[i]=0;
}
void Add(int temp1[],int temp2[],int temp3[],int res[])
{
	int i;
	for(i=0;i<MAX;++i)
	{
		res[i]=res[i]+temp1[i]+temp2[i]+temp3[i];
		if(res[i]>=20)
		{
			res[i]-=20;
			res[i+1]+=2;
		}
		else if(res[i]>=10)
		{
			res[i]-=10;
			res[i+1]+=1;
		}
	}
}
void Copy(int a[],int b[])
{
	int i;
	for(i=0;i<MAX;++i)
	{
		a[i]=b[i];
	}
}
int main()
{
	int a0,a1,a2;
	while(scanf("%d%d%d",&a0,&a1,&a2)!=EOF)
	{
		if(a0==0 && a1==0 && a2==0)
		{
			printf("0\n");
			continue;
		}
		
		int temp1[MAX],temp2[MAX],temp3[MAX],res[MAX];
		
		memset(temp1,0,sizeof(temp1));
		memset(temp2,0,sizeof(temp2));
		memset(temp3,0,sizeof(temp3));
		memset(res,0,sizeof(res));
		
		int i,j;
		j=0;
		while(a0!=0)
		{
			temp1[j++]=a0%10;
			a0/=10;
		}
		j=0;
		while(a1!=0)
		{
			temp2[j++]=a1%10;
			a1/=10;
		}
		j=0;
		while(a2!=0)
		{
			temp3[j++]=a2%10;
			a2/=10;
		}
		for(i=1;i<98;++i)
		{
			Clear(res);
			Add(temp1,temp2,temp3,res);
			Clear(temp1);
			Copy(temp1,temp2);
			Clear(temp2);
			Copy(temp2,temp3);
			Clear(temp3);
			Copy(temp3,res);
		}
		for(i=MAX-1;res[i]==0;--i);
		for(;i>=0;--i)
			printf("%d",res[i]);
		printf("\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