質問編集履歴

2

清書最終

2018/10/12 10:38

投稿

opyon
opyon

スコア1009

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,38 @@
1
+ ##清書(最終)
2
+
3
+ ```Python3
4
+
5
+ def coin_sums2(remainder, coin):
6
+
7
+ if coin < 0:
8
+
9
+ return 1
10
+
11
+ n = remainder // coins[coin]
12
+
13
+ total2 = 0
14
+
15
+ for i in range(n + 1):
16
+
17
+ total2 += coin_sums2(remainder - i * coins[coin], coin - 1)
18
+
19
+ return total2
20
+
21
+
22
+
23
+
24
+
25
+ coins = [2, 5, 10, 20, 50, 100, 200]
26
+
27
+ ans = coin_sums2(200, len(coins) - 1)
28
+
29
+ print(ans)
30
+
31
+ ```
32
+
33
+
34
+
1
- ##追記
35
+ ##追記(18:40)
2
36
 
3
37
  回答頂いた後ものをヒントに修正したらこれで動きました。
4
38
 

1

追記

2018/10/12 10:38

投稿

opyon
opyon

スコア1009

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,35 @@
1
+ ##追記
2
+
3
+ 回答頂いた後ものをヒントに修正したらこれで動きました。
4
+
5
+ ```Python3
6
+
7
+ def coin_sums2(remainder, coin,total2=0):
8
+
9
+ if coin < 0:
10
+
11
+ return total2 + 1
12
+
13
+ n = remainder // coins[coin]
14
+
15
+ for i in range(n + 1):
16
+
17
+ total2 += coin_sums2(remainder - i * coins[coin], coin - 1)
18
+
19
+ return total2
20
+
21
+
22
+
23
+ coins = [2, 5, 10, 20,50, 100, 200]
24
+
25
+ ans = coin_sums2(200, len(coins)-1)
26
+
27
+ print(ans)
28
+
29
+ ```
30
+
31
+
32
+
1
33
  ####参考課題
2
34
 
3
35
  [ProjectEuler Problem 31 : Coin sums ](https://projecteuler.net/problem=31)