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

HDU 1047 Integer Inquiry

2014-08-16 19:37 337 查看

[align=center][/align]

Integer Inquiry

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 12591    Accepted Submission(s): 3187[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]
11234567890123456789012345678901234567890123456789012345678901234567890123456789012345678900 [align=left]Sample Output[/align]
370370367037037036703703703670
结题报告:高精度加法
#include<stdio.h>#include<string.h>#include<iostream>using namespace std;int main(int argc, char const *argv[]){const int maxlen = 110;int CASE;char str[maxlen];int sum[maxlen];scanf("%d",&CASE);while(CASE--){memset(sum,0,sizeof(sum));while(scanf("%s",str),str[1]!='\0'||str[0]!='0'){int len = strlen(str);int i;for(i = 1;i <= len;i++){sum[maxlen-i] = sum[maxlen-i] + str[len - i]-'0';if (sum[maxlen-i] > 9){sum[maxlen-i-1]++;sum[maxlen-i] %= 10;}}// for (i = 0; i < maxlen; ++i)//     {//         if (sum[i])//         {//             break;//         }//     }// for (;i < maxlen-1; ++i)//     {//         printf("%d",sum[i]);//     }//     printf("%d\n",sum[maxlen-1]);}int i;for (i = 0; i < maxlen; ++i){if (sum[i]){break;}}for (;i < maxlen-1; ++i){printf("%d",sum[i]);}printf("%d\n",sum[maxlen-1]);if (CASE){putchar('\n');}}return 0;}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ACM C++ HDOJ