ruby で書いてみました。
ruby
1 require 'awesome_print'
2
3 ans = [ 1 , 1 , 1 , 5 , 10 , 10 , 10 , 50 , 100 , 100 , 100 , 500 ] . combination ( 3 ) . group_by { | coins | coins . inject ( : + ) }
4
5 ap ans . keys . sort
6 ans . sort . each { | k , v | p " #{ k } : #{ v } " }
実行結果
[
[ 0] 3,
[ 1] 7,
[ 2] 12,
[ 3] 16,
[ 4] 21,
[ 5] 25,
[ 6] 30,
[ 7] 52,
[ 8] 56,
[ 9] 61,
[10] 65,
[11] 70,
[12] 102,
[13] 106,
[14] 111,
[15] 115,
[16] 120,
[17] 151,
[18] 155,
[19] 160,
[20] 201,
[21] 205,
[22] 210,
[23] 250,
[24] 300,
[25] 502,
[26] 506,
[27] 511,
[28] 515,
[29] 520,
[30] 551,
[31] 555,
[32] 560,
[33] 601,
[34] 605,
[35] 610,
[36] 650,
[37] 700
]
"3: [[1, 1, 1]]"
"7: [[1, 1, 5], [1, 1, 5], [1, 1, 5]]"
"12: [[1, 1, 10], [1, 1, 10], [1, 1, 10], [1, 1, 10], [1, 1, 10], [1, 1, 10], [1, 1, 10], [1, 1, 10], [1, 1, 10]]"
"16: [[1, 5, 10], [1, 5, 10], [1, 5, 10], [1, 5, 10], [1, 5, 10], [1, 5, 10], [1, 5, 10], [1, 5, 10], [1, 5, 10]]"
"21: [[1, 10, 10], [1, 10, 10], [1, 10, 10], [1, 10, 10], [1, 10, 10], [1, 10, 10], [1, 10, 10], [1, 10, 10], [1, 10, 10]]"
"25: [[5, 10, 10], [5, 10, 10], [5, 10, 10]]"
"30: [[10, 10, 10]]"
"52: [[1, 1, 50], [1, 1, 50], [1, 1, 50]]"
"56: [[1, 5, 50], [1, 5, 50], [1, 5, 50]]"
"61: [[1, 10, 50], [1, 10, 50], [1, 10, 50], [1, 10, 50], [1, 10, 50], [1, 10, 50], [1, 10, 50], [1, 10, 50], [1, 10, 50]]"
"65: [[5, 10, 50], [5, 10, 50], [5, 10, 50]]"
"70: [[10, 10, 50], [10, 10, 50], [10, 10, 50]]"
"102: [[1, 1, 100], [1, 1, 100], [1, 1, 100], [1, 1, 100], [1, 1, 100], [1, 1, 100], [1, 1, 100], [1, 1, 100], [1, 1, 100]]"
"106: [[1, 5, 100], [1, 5, 100], [1, 5, 100], [1, 5, 100], [1, 5, 100], [1, 5, 100], [1, 5, 100], [1, 5, 100], [1, 5, 100]]"
"111: [[1, 10, 100], [1, 10, 100], [1, 10, 100], [1, 10, 100], [1, 10, 100], [1, 10, 100], [1, 10, 100], [1, 10, 100], [1, 10, 100], [1, 10, 100], [1, 10, 100], [1, 10, 100], [1, 10, 100], [1, 10, 100], [1, 10, 100], [1, 10, 100], [1, 10, 100], [1, 10, 100], [1, 10, 100], [1, 10, 100], [1, 10, 100], [1, 10, 100], [1, 10, 100], [1, 10, 100], [1, 10, 100], [1, 10, 100], [1, 10, 100]]"
"115: [[5, 10, 100], [5, 10, 100], [5, 10, 100], [5, 10, 100], [5, 10, 100], [5, 10, 100], [5, 10, 100], [5, 10, 100], [5, 10, 100]]"
"120: [[10, 10, 100], [10, 10, 100], [10, 10, 100], [10, 10, 100], [10, 10, 100], [10, 10, 100], [10, 10, 100], [10, 10, 100], [10, 10, 100]]"
"151: [[1, 50, 100], [1, 50, 100], [1, 50, 100], [1, 50, 100], [1, 50, 100], [1, 50, 100], [1, 50, 100], [1, 50, 100], [1, 50, 100]]"
"155: [[5, 50, 100], [5, 50, 100], [5, 50, 100]]"
"160: [[10, 50, 100], [10, 50, 100], [10, 50, 100], [10, 50, 100], [10, 50, 100], [10, 50, 100], [10, 50, 100], [10, 50, 100], [10, 50, 100]]"
"201: [[1, 100, 100], [1, 100, 100], [1, 100, 100], [1, 100, 100], [1, 100, 100], [1, 100, 100], [1, 100, 100], [1, 100, 100], [1, 100, 100]]"
"205: [[5, 100, 100], [5, 100, 100], [5, 100, 100]]"
"210: [[10, 100, 100], [10, 100, 100], [10, 100, 100], [10, 100, 100], [10, 100, 100], [10, 100, 100], [10, 100, 100], [10, 100, 100], [10, 100, 100]]"
"250: [[50, 100, 100], [50, 100, 100], [50, 100, 100]]"
"300: [[100, 100, 100]]"
"502: [[1, 1, 500], [1, 1, 500], [1, 1, 500]]"
"506: [[1, 5, 500], [1, 5, 500], [1, 5, 500]]"
"511: [[1, 10, 500], [1, 10, 500], [1, 10, 500], [1, 10, 500], [1, 10, 500], [1, 10, 500], [1, 10, 500], [1, 10, 500], [1, 10, 500]]"
"515: [[5, 10, 500], [5, 10, 500], [5, 10, 500]]"
"520: [[10, 10, 500], [10, 10, 500], [10, 10, 500]]"
"551: [[1, 50, 500], [1, 50, 500], [1, 50, 500]]"
"555: [[5, 50, 500]]"
"560: [[10, 50, 500], [10, 50, 500], [10, 50, 500]]"
"601: [[1, 100, 500], [1, 100, 500], [1, 100, 500], [1, 100, 500], [1, 100, 500], [1, 100, 500], [1, 100, 500], [1, 100, 500], [1, 100, 500]]"
"605: [[5, 100, 500], [5, 100, 500], [5, 100, 500]]"
"610: [[10, 100, 500], [10, 100, 500], [10, 100, 500], [10, 100, 500], [10, 100, 500], [10, 100, 500], [10, 100, 500], [10, 100, 500], [10, 100, 500]]"
"650: [[50, 100, 500], [50, 100, 500], [50, 100, 500]]"
"700: [[100, 100, 500], [100, 100, 500], [100, 100, 500]]"
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/09 04:13