1. 程式人生 > >【PAT乙級】1056 組合數的和

【PAT乙級】1056 組合數的和

給定 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;
}