1
package 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
24
public 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
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44
