【PAT乙級】1056 組合數的和
阿新 • • 發佈:2018-12-17
給定 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
個人思路
這題很簡單沒什麼好說的
程式碼實現
#include <cstdio> #include <cstring> #include <string> #include <cmath> #include <algorithm> #include <iostream> #define ll long long #define ep 1e-5 #define INF 0x7FFFFFFF const int maxn = 10005; using namespace std; int main() { int n, nums[15]; cin >> n; for (int i = 0; i < n; i ++) { cin >> nums[i]; } int sum = 0; for (int i = 0; i < n; i ++) { for (int j = 0; j < n; j ++) { if (j == i) continue; sum += nums[i]*10 + nums[j]; } } cout << sum << endl; return 0; }