您的位置:首页 > 产品设计 > UI/UE

HDOJ Integer Inquiry (大数累加)

2015-07-24 18:00 381 查看

Integer Inquiry

Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 24   Accepted Submission(s) : 7
[align=left]Problem Description[/align]
One of the first users of BIT's new supercomputer was Chip Diller. He extended his exploration of powers of 3 to go from 0 to 333 and he explored taking various sums of those numbers.

``This supercomputer is great,'' remarked Chip. ``I only wish Timothy were here to see these results.'' (Chip moved to a new apartment, once one became available on the third floor of the Lemon Sky apartments on Third Street.)

 

[align=left]Input[/align]
The input will consist of at most 100 lines of text, each of which contains a single VeryLongInteger. Each VeryLongInteger will be 100 or fewer characters in length, and will only contain digits (no VeryLongInteger will be negative).
The final input line will contain a single zero on a line by itself.
 

[align=left]Output[/align]
Your program should output the sum of the VeryLongIntegers given in the input. This problem contains multiple test cases! The first line of a multiple input is an integer N, then a blank line followed by N input blocks. Each input
block is in the format indicated in the problem description. There is a blank line between input blocks. The output format consists of N output blocks. There is a blank line between output blocks.

 

[align=left]Sample Input[/align]

1

123456789012345678901234567890
123456789012345678901234567890
123456789012345678901234567890
0

 

[align=left]Sample Output[/align]

370370367037037036703703703670

 

ac代码:
#include<stdio.h>
#include<string.h>
char s[1005];
int num[1006];
int main()
{
int t,i,j;
while(scanf("%d",&t)!=EOF)
{
while(t--)
{
memset(num,0,sizeof(num));
while(scanf("%s",s)&&s[0]!='0')
{
int c=1;
int lens=strlen(s);
for(j=lens-1;j>=0;j--)
{
num[c]+=s[j]-'0';
num[c+1]+=num[c]/10;
num[c]%=10;
c++;
}
}
int bz=0;
for(i=1005;i>1;i--)
{
if(num[i]==0&&bz==0)
continue;
else
{
bz=1;
printf("%d",num[i]);
}
}
printf("%d\n",num[1]);
if(t)
printf("\n");
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: