HDU 1047(大数相加)
2015-02-07 20:43
295 查看
Integer Inquiry
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 13719 Accepted Submission(s): 3460
[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]
[align=left]370370367037037036703703703670[/align]
[align=left] [/align]
[align=left] [/align]
[align=left]AC代码:[/align]
#include "stdio.h" #include "string.h" #define M 105 int main() { int n,i,j,l,k,a[M],s[M]; char c[M]; scanf("%d",&n); // getchar(); for(k=0;k<n;k++) { memset(s,0,sizeof(s)); while(scanf("%s",c),strcmp(c,"0")) { memset(a,0,sizeof(s)); l=strlen(c); for(i=0;i<l;i++) a[i]=c[l-1-i]-'0'; for(i=0;i<M;i++) { s[i]+=a[i]; if(s[i]>=10) { s[i+1]++; s[i]-=10; } } } for(i=M-1;i>=0;i--) if(s[i]) break; for(j=i;j>=0;j--) printf("%d",s[j]); if(i<0) printf("0"); printf("\n"); if(k!=n-1) printf("\n"); } return 0; }
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
相关文章推荐
- HDU-1047 Integer Inquiry 大数相加
- HDU 1047 Integer Inquiry (多个大数相加)
- HDU 1047 大数相加
- HDU 1047(大数相加)(数组模拟)
- HDU 1047 多个大数相加 Integer Inquiry
- HDU 1047 大数相加
- HDU 1047 Integer Inquiry 大数相加 string解法
- poj 1503 && hdu 1047 大数相加
- HDU 1047。多个大数相加
- HDU 1047 Integer Inquiry 多个大数相加
- HDU 1047 || ZOJ 1292 大数相加
- HDU 1047 Integer Inquiry 大数相加 string解法
- hdu 1250 Hat's Fibonacci (大数相加)
- HDOJ 1047 Integer Inquiry(多个大数相加)
- (26进制大数相加)hdu 2100 Lovekey
- HDU-1753 大明A+B【大数相加】
- HDU 5718 Oracle【大数相加】
- HDU A + B Problem II(高精度大数相加)(java版)
- Integer Inquiry_hdu_1047(大数).java
- HDU 1250 Hat's Fibonacci(Java大数相加)+讲解