java三位数组合数的和怎么求解呢

给定N个大于0的个位数字,用其中任意3个数字都可以组合成1个三位数。要求所有可能组合出来的三位数之和。怎么打啊救命

给你写好了,先输入n 再依次输入数字:有帮助请点一下我回答右上方的采纳


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] arr = new int [n];
        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
        }
        int ans = 0;
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                for (int k = 0; k < n; k++) {
                    if(j != i&&j!=k&&i!=k)  
                        ans += arr[i]*100 + arr[j]*10+arr[k];
                    
                }
            }
        }
        System.out.println(ans);
    }
}


img

三层for循环,组合的数字放到数组中,每次放入前遍历一下是否有重复,只有不重复的才加入到数组

思路:
1.输入的数放到一个集合中
2.循环嵌套组合3位数。


Set<Integer> nums = new HashSet<>();
        Scanner in  = new Scanner(System.in);
        String[] abc = new String[3];
        int index = 0;
        while (index < abc.length){
            abc[index++] = in.next();
        }
        for (int i = 0; i < abc.length; i++){
            for (int j = 0; j < abc.length; j++){
                if (j != i){
                    for (int k = 0; k < abc.length; k++){
                        if (k != j && k != i){
                            String result = abc[i] + abc[j] + abc[k];
                            nums.add(Integer.valueOf(result));
                        }
                    }
                }
            }
        }
        Integer sum = 0;
        for (Integer num : nums){
            System.out.print(num + " ");
            sum += num;
        }
        System.out.println(" = " + sum);