hdu 1047 Integer Inquiry

额,还是大数问题,不难,就是,居然来一个这么变态的测试数据

1

0000

0000

0

输出 0

#include<iostream>
#include<math.h>
#include<string.h>
using namespace std;
int main()
{
	char str[101];
	int sum[110],j,k,cas,num;
	num=0;
	cin>>cas;
	while(cas--)
	{
		if(num++) cout<<endl;
	 memset(sum,0,sizeof(sum));
	 while(cin>>str)
	  {
		if(strcmp(str,"0")==0)
		{
			for(j=109;j>=0;j--)
				if(sum[j]!=0) break;
			if(j<0) {
				cout<<0<<endl;
				break;}
			for(int i=j;i>=0;i--)
				cout<<sum[i];
			cout<<endl;
			break;
		}
		j=k=0;
		for(int i=strlen(str)-1;i>=0;i--)
		{
			k+=(str[i]-'0')+sum[j];
			sum[j++]=k%10;
			k/=10;
		}
		while(k)
		{
			k+=sum[j];
			sum[j++]=k%10;
			k/=10;
		}
 	 }
	}
	return 0;
}
posted @ 2011-08-05 20:07  枕边梦  阅读(215)  评论(0编辑  收藏  举报