PKU 3982(大数加法)

/*

	闲来无事,本打算敲道水题,谁知纠结了很长一会儿- -

	自我BS

	大数加法

*/



#include <iostream>

using namespace std;

int s[100][5],c[5];

int len;



void Add(int a[],int b[],int d[])

{

	int i,yu = (a[0] + b[0])/100000000;

	d[0] = (a[0]+b[0])%100000000;

	for( i=1;i<len;i++)

	{

		d[i] = (a[i] + b[i] + yu)%100000000;

		yu = (a[i] + b[i] + yu)/100000000;	

	}

	if(yu ) {

		d[len++] = yu; 

	}

}



void Print()

{

	printf("%d",s[99][len-1]);

	for(int i=len-2;i>=0;i--)

	{

		printf("%08d",s[99][i]);

	}

	printf("\n");

}

int main()

{

	int i;

	while(	memset(s,0,sizeof(s)) &&

			scanf("%d%d%d",&s[0][0],&s[1][0],&s[2][0])!=EOF)

	{

		len = 1;

		for(i = 3; i <= 99; i++)

		{

			Add(s[i-1],s[i-2],c);

			Add(c,s[i-3],s[i]);

		}

		Print();

	}

	return 0;

}

你可能感兴趣的:(pku)