1package poise;
 2
 3/**
 4 * 用天平稱重時,我們希望用盡可能少的砝碼組合稱出盡可能多的重量。
 5      如果只有5個砝碼,重量分別是1,3,9,27,81。則它們可以組合稱出1到121之間任意整數重量(砝碼允許放在左右兩個盤中)。
 6      本題目要求編程實現:對用戶給定的重量,給出砝碼組合方案。
 7      例如:
 8      用戶輸入:
 9      5
10      程序輸出:
11      9-3-1
12      用戶輸入:
13      19
14      程序輸出:
15      27-9+1
16      輸入:
17      41
18      輸出:
19      81-27-9-3-1
20      要求程序輸出的組合總是大數在前小數在后。
21      可以假設用戶的輸入的數字符合范圍1~121。
22**/

23
24public class Weight {
25
26    public static void main(String[]args) {
27        int input = 106;
28        int[] a , b , c , d , e;
29        a = b = c = d = e = new int[]{-1,0,1};
30        for (int ai : a){
31            for (int bi : b){
32                for (int ci : c){
33                    for (int di : d){
34                        for (int ei : e){
35                            if (input == ei*81 + di*27 + ci*9 + bi*3 + ai*1){
36                                System.out.println("("+ ei*81 + ")+(" + di*27 + ")+(" + ci*9 + ")+(" + bi*3 + ")+(" + ai*1 +")");
37                            }

38                        }

39                    }

40                }

41            }

42        }

43    }

44}