1056 组合数的和 (15 分)

1056 组合数的和 (15 分)

给定 N 个非 0 的个位数字,用其中任意 2 个数字都可以组合成 1 个 2 位的数字。要求所有可能组合出来的 2 位数字的和。例如给定 2、5、8,则可以组合出:25、28、52、58、82、85,它们的和为330。

输入格式:

输入在第一行中给出 N(1 < N < 10),随后一行给出 N 个不同的非 0 个位数字。数字间以空格分隔。

输出格式:

输出所有可能组合出来的2位数字的和。

输入样例:

3
2 8 5

输出样例:

330

 最简单的办法应该是找规律,规律非常明显,每个数会在个位和十位出现N-1次 ,sum = (x+x*10) * (N-1)

#include<iostream>
using namespace std;
int main()
{
	int N;
	cin >> N;
	int x = 0;
	int sum = 0;
	for (int i = 0; i < N; i++)
	{
		cin >> x;
		sum += (N - 1) *(x+10*x);
	}
	cout << sum;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_41068877/article/details/85379136
今日推荐