RosettaCodeData/Task/Count-the-coins/Maple/count-the-coins-2.maple
2023-07-01 13:44:08 -04:00

38 lines
632 B
Text

ways2:=proc(amount,purse)
local a,n,k;
a:=Array(1..amount);
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(100,[1,5,10,25,50,100]);
# 293
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
ways2(10000000,[1,5,10,25,50,100]);
# 133339833445334138335450001
ways2(100000000,[1,5,10,25,50,100]);
# 13333398333445333413833354500001