时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:341
解决:174
- 题目描述:
-
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.)
- 输入:
-
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.
- 输出:
-
Your program should output the sum of the VeryLongIntegers given in the input.
- 样例输入:
-
123456789012345678901234567890 123456789012345678901234567890 123456789012345678901234567890 0
- 样例输出:
-
370370367037037036703703703670
- 提示:
-
注意输入数据中,VeryLongInteger 可能有前导0
- 答疑:
- 解题遇到问题?分享解题心得?讨论本题请访问:http://t.jobdu.com/thread-7842-1-1.html
代码清单
#include <stdio.h> #include <string.h> #define SIZE 110 char input[SIZE]; int sum[SIZE] = {0}; void add(int i,int n){ if(sum[i] + n >= 10){ sum[i] = (sum[i]+n) % 10; add(i+1,1); } else sum[i] += n; } int main(){ while(gets(input)){ if(strcmp(input,"0") == 0) break; int len = strlen(input); for(int i=0; i<=len-1; i++) add(i,input[len-1-i]-'0'); } int flag; for(int i=SIZE-1; i>=0; i--) if(sum[i] != 0){ flag = i; break; } for(int i=flag; i>=0; i--) printf("%d",sum[i]); printf("\n"); return 0; } /************************************************************** Problem: 1119 User: denallo Language: C Result: Accepted Time:10 ms Memory:912 kb ****************************************************************/