HDU_1047 Integer Inquiry(高精度)

 

  在说这题之前请容我先说几句:1047!你妹是multiple test cases!你全家都是multiple test cases!!!丫,高精度没啥说的,光格式WA了两次!这不是浪费时间吗!


#include <iostream>
#include
<cstdio>
#include
<cstring>
using namespace std;
const int MAX = 107;
int sum[MAX];
char ss[MAX];

int main()
{
//freopen("data.in", "r", stdin);
int t, i;
cin
>> t;
while(t--)
{
memset(sum,
0, sizeof(sum));
while(scanf("%s", ss) && strcmp(ss, "0"))
{
int len = strlen(ss);
for(i = len-1; i >= 0; i--)
sum[len
-i-1] += ss[i]-'0';
}
int flag = 0;
for(i = 0; i < MAX; i++) //貌似高精度进位时常用这种方法
{
int tmp = flag + sum[i];
flag
= tmp/10;
sum[i]
= tmp%10;
}
i
= MAX;
while(sum[i] == 0)
i
--;
if(i < 0) printf("0"); //数据会全是0的!都是0你还让算个球啊!非得给你贡献几个WA才满意啊!
else
{
for(; i >= 0; i--)
printf(
"%d", sum[i]);
}
printf(
"\n");
if(t)
printf(
"\n");
}
return 0;
}


你可能感兴趣的:(Integer)