给定 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
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
思路:
①先从键盘获取整行数字;
②利用数组和for循环,计算数字的组合;
③最后用循环计算最终的总和;
运行代码:
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
// 从键盘获取整行数字
String arr[] = sc.nextLine().split(" ");
// N为数组中的第一个数字
int N = Integer.parseInt(arr[0]);
int number[] = new int[N];
// 将剩余数字存入新的数组
for (int i = 0; i < N; i++) {
number[i] = Integer.parseInt(arr[i + 1]);
}
// sum用来储存结果
int sum = 0;
// 循环进行计算
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if (i != j) {
sum += number[i] * 10 + number[j];
}
}
}
System.out.println(sum);
sc.close();
}
}
运行结果: