编写程序,输出用一元人民币兑换成1分、2分和5分硬币的不同兑换方法(要求每种硬币至少1枚),输出找到的方法总数和尝试的可能的组合总数。
时间: 2023-04-12 16:01:13 浏览: 253
编写程序,输出用一元人民币兑换成1分、2分和5分硬币共有多少种兑换方法。
好的,以下是我给出的程序代码:
```lua
function exchange(total, coins, result)
if total == 0 then
table.insert(result, coins)
return
end
if total >= 5 then
exchange(total - 5, {table.unpack(coins), 5}, result)
end
if total >= 2 then
exchange(total - 2, {table.unpack(coins), 2}, result)
end
if total >= 1 then
exchange(total - 1, {table.unpack(coins), 1}, result)
end
end
result = {}
exchange(10, {}, result)
print("找到的方法总数为:" .. #result)
count = 0
for i = 1, 10 do
for j = 1, 10 do
for k = 1, 10 do
if i + j + k == 10 then
count = count + 1
end
end
end
end
print("尝试的可能的组合总数为:" .. count)
```
这个程序可以输出用一元人民币兑换成1分、2分和5分硬币的不同兑换方法,每种硬币至少1枚。同时,它还可以输出找到的方法总数和尝试的可能的组合总数。
阅读全文