質問編集履歴
2
清書最終
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
追記
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)
|