質問編集履歴
2
清書最終
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,4 +1,21 @@
|
|
1
|
+
##清書(最終)
|
2
|
+
```Python3
|
3
|
+
def coin_sums2(remainder, coin):
|
4
|
+
if coin < 0:
|
5
|
+
return 1
|
6
|
+
n = remainder // coins[coin]
|
7
|
+
total2 = 0
|
8
|
+
for i in range(n + 1):
|
9
|
+
total2 += coin_sums2(remainder - i * coins[coin], coin - 1)
|
10
|
+
return total2
|
11
|
+
|
12
|
+
|
13
|
+
coins = [2, 5, 10, 20, 50, 100, 200]
|
14
|
+
ans = coin_sums2(200, len(coins) - 1)
|
15
|
+
print(ans)
|
16
|
+
```
|
17
|
+
|
1
|
-
##追記
|
18
|
+
##追記(18:40)
|
2
19
|
回答頂いた後ものをヒントに修正したらこれで動きました。
|
3
20
|
```Python3
|
4
21
|
def coin_sums2(remainder, coin,total2=0):
|
1
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,3 +1,19 @@
|
|
1
|
+
##追記
|
2
|
+
回答頂いた後ものをヒントに修正したらこれで動きました。
|
3
|
+
```Python3
|
4
|
+
def coin_sums2(remainder, coin,total2=0):
|
5
|
+
if coin < 0:
|
6
|
+
return total2 + 1
|
7
|
+
n = remainder // coins[coin]
|
8
|
+
for i in range(n + 1):
|
9
|
+
total2 += coin_sums2(remainder - i * coins[coin], coin - 1)
|
10
|
+
return total2
|
11
|
+
|
12
|
+
coins = [2, 5, 10, 20,50, 100, 200]
|
13
|
+
ans = coin_sums2(200, len(coins)-1)
|
14
|
+
print(ans)
|
15
|
+
```
|
16
|
+
|
1
17
|
####参考課題
|
2
18
|
[ProjectEuler Problem 31 : Coin sums ](https://projecteuler.net/problem=31)
|
3
19
|
[日本語訳](http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%2031)
|