1056 组合数的和 (15 分)

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

给定 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

结尾无空行

比较简单,就直接上代码了:


C语言:


#include <stdio.h>
int main() {
  int N;
  scanf("%d", &N);
  int a[N];
  for (int i = 0; i < N; i++)
    scanf("%d", &a[i]);
  int sum = 0;
  for (int i = 0; i < N; i++) { //十位
    for (int j = 0; j < N; j++) { //个位
      if (a[i] != a[j]) {
        sum += a[i] * 10 + a[j];
      }
    }
  }
  printf("%d", sum);
  return 0;
}

C++:

#include <iostream>
using namespace std;
int main() {
  int N;
  cin >> N;
  int a[N];
  for (int i = 0; i < N; i++)
    cin >> a[i];
  int sum = 0;
  for (int i = 0; i < N; i++) { //十位
    for (int j = 0; j < N; j++) { //个位
      if (a[i] != a[j]) {
        sum += a[i] * 10 + a[j];
      }
    }
  }
  cout << sum;
  return 0;
}
相关文章
|
6月前
1056 组合数的和 (15 分)
1056 组合数的和 (15 分)
|
6月前
1030 完美数列 (25 分)
1030 完美数列 (25 分)
PTA 1056 组合数的和 (15 分)
给定 N 个非 0 的个位数字,用其中任意 2 个数字都可以组合成 1 个 2 位的数字。要求所有可能组合出来的 2 位数字的和。
123 0
h0039. 平方数 (15 分)
h0039. 平方数 (15 分)
135 0
|
算法
7-1 最大子列和问题 (20 分)
7-1 最大子列和问题 (20 分)
148 0
h0118. 最大公约数 (5 分)
h0118. 最大公约数 (5 分)
202 0
L1-036 A乘以B (5 分)
L1-036 A乘以B (5 分)
98 0
L1-009 N个数求和 (20 分)
L1-009 N个数求和 (20 分)
141 0
7-32 中位数 (10 分)
7-32 中位数 (10 分)
87 0
7-166 二分法求多项式单根 (20 分)
7-166 二分法求多项式单根 (20 分)
124 0