您的位置:首页 > 其它

PKU 3982(大数加法)

2011-02-11 17:28 225 查看
/*
闲来无事,本打算敲道水题,谁知纠结了很长一会儿- -
自我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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: