微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

大数系列——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] 举报,一经查实,本站将立刻删除。

相关推荐