您的位置:首页 > 其它

hd1047

2015-07-24 21:04 591 查看

Integer Inquiry

[b]Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)[/b]

[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.

Output
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.

Sample Input

1

123456789012345678901234567890
123456789012345678901234567890
123456789012345678901234567890
0


[align=left]Sample Output[/align]

370370367037037036703703703670 题目大意就是给一些字符串,以0结束,求这些字符串的和。不造为什么用G++提交老是Runtime error然后用c交的就过了 [code]#include<stdio.h>
#include<string.h>
int main()
{
int n,i,j,len,aa[1001],sum[1001];
char s[101];
scanf("%d",&n);
while(n--)
{
memset(sum,0,sizeof(sum));
while(scanf("%s",s)&&strcmp(s,"0"))
{
memset(aa,0,sizeof(aa));
len=strlen(s);
for(i=len-1,j=0;i>=0;i--,j++)
aa[j]=s[i]-'0';
for(i=0;i<1001;++i)
{
sum[i]+=aa[i];
if(sum[i]>=10)
{
sum[i]-=10;
sum[i+1]+=1;
}
}
}
i=1000;
while(sum[i]==0&&i>=0)i--;
if(i>=0)
{
for(;i>=0;i--)printf("%d",sum[i]);
}
else printf("0");
printf("\n");
if(n)printf("\n");
}
return 0;
}

[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: