Count the coins: Difference between revisions

Added AppleScript.
No edit summary
(Added AppleScript.)
Line 237:
+13398445413854501
</pre>
 
=={{header|AppleScript}}==
 
{{trans|Phix}}
 
<lang applescript>-- All input values must be integers and multiples of the same monetary unit.
on countCoins(amount, denominations)
-- Potentially long list of counters, initialised with 1 (result for amount 0) and 'amount' zeros.
script o
property counters : {1}
end script
repeat amount times
set end of o's counters to 0
end repeat
-- Less labour-intensive alternative to the following repeat's c = 1 iteration.
set coinValue to beginning of denominations
repeat with n from (coinValue + 1) to (amount + 1) by coinValue
set item n of o's counters to 1
end repeat
repeat with c from 2 to (count denominations)
set coinValue to item c of denominations
repeat with n from (coinValue + 1) to (amount + 1)
set item n of o's counters to (item n of o's counters) + (item (n - coinValue) of o's counters)
end repeat
end repeat
return end of o's counters
end countCoins
 
-- Task calls:
set c1 to countCoins(100, {25, 10, 5, 1})
set c2 to countCoins(1000 * 100, {100, 50, 25, 10, 5, 1})
return {c1, c2}</lang>
 
{{output}}
<lang applescript>{242, 13398445413854501}</lang>
 
=={{header|Arturo}}==
557

edits