Ich entschuldiege im voraus.weil mein deutsch schlecht ist. Aber ich versuche etwas über mein Problem zu erklären.
Die Frage ist
In England benutzt man als Währung pound [£] und pence . Wir haben 8 Münzen für diese Frage. Also
1p 2p 5p 10p 20p 50p 100p [1£] 200p [2£]
Es ist möglich 2 pound in folgender Weise zu machen.
1×£1 + 1×50p + 2×20p + 1×5p + 1×2p + 3×1p
Wie viele möglichkeit gibt es um 2£ zu bekommen ?
Die Lösung
Code: Alles auswählen
def coin_sums(amount, coins):
if amount==0:
return 1
elif len(coins)==0:
return 0
counts=[0]*len(coins)
s=0
while coins[0]*counts[0]<=amount:
s+=coin_sums(amount-coins[0]*counts[0], coins[1:])
counts[0]+=1
return s
print("%d" % (coin_sums(200, [200,100,50,20,10,5,2,1])))
in diesem Befehl wurde Rekursiv Funktion verwendet . Aber ich konnte nicht verstehen , Wie Funktioniert diese Befehl ,
Wie kann ich selbst mit der Rekursiv Funktion programiieren .
Danke Schön