Count the coins: Difference between revisions
Content added Content deleted
(+Maple) |
|||
Line 2,143: | Line 2,143: | ||
ways(100000,[1,5,10,25,50,100]); |
ways(100000,[1,5,10,25,50,100]); |
||
# 13398445413854501</lang> |
# 13398445413854501</lang> |
||
A faster implementation. |
|||
<lang maple>ways2:=proc(amount,purse) |
|||
local a,n,k; |
|||
a:=Array(1..amount,0); |
|||
for k in purse do |
|||
for n from k to amount do |
|||
if n=k then |
|||
a[n]++; |
|||
else |
|||
a[n]+=a[n-k] |
|||
fi |
|||
od |
|||
od; |
|||
a[-1] |
|||
end: |
|||
ways2(100,[1,5,10,25]); |
|||
# 242 |
|||
ways2(1000,[1,5,10,25,50,100]); |
|||
# 2103596 |
|||
ways2(10000,[1,5,10,25,50,100]); |
|||
# 139946140451 |
|||
ways2(100000,[1,5,10,25,50,100]); |
|||
# 13398445413854501 |
|||
ways2(1000000,[1,5,10,25,50,100]); |
|||
# 1333983445341383545001</lang> |
|||
=={{header|Mathematica}} / {{header|Wolfram Language}}== |
=={{header|Mathematica}} / {{header|Wolfram Language}}== |