Integer Inquiry
Integer Inquiry |
One of the first users of BIT's new supercomputer was Chip Diller. Heextended his explorationof powers of 3 to go from 0 to 333 and he explored taking varIoUs sumsof those numbers.
``This supercomputer is great,'' remarked Chip. ``I only wish Timothy werehere to see theseresults.'' (Chip moved to a new apartment,once one became available onthe third floor of theLemon Sky apartments on Third Street.)
Input
The input will consist of at most 100 lines of text,each of whichcontains a single VeryLongInteger.Each VeryLongInteger will be 100 or fewer characters in length,and willonly 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.
Sample Input
123456789012345678901234567890 123456789012345678901234567890 123456789012345678901234567890 0
Sample Output
370370367037037036703703703670
字符串系列刷得实在蛋疼,先换大数系列刷刷。。。
第一题很水,不愧是大数。
大数相加,倒序输入数组再逐位计算,再倒序输出。
AC代码:
#include<iostream> #include<string> using namespace std; int main() { int a[100] = {0},sum[110] = {0}; string str; while (1) { cin >> str; if (str[0] == '0') break; for (int i = 0; i < (int)str.size(); i++) a[i] = str[(int)str.size() - i - 1] - '0'; for (int i = 0; i < (int)str.size(); i++) { int temp = a[i] + sum[i]; sum[i] = temp % 10; sum[i + 1] += temp / 10; } } int i; for (i = 100; i >= 0; i--) if (sum[i]) break; for (;i >= 0; i--) cout << sum[i]; cout << endl; return 0; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。