单选题

硬币找零,要求找给客户最少的硬币。第一行输入硬币规格且空格间隔,单位为角,规格假设都小于10角,且一定有1角规格。硬币规格不一定是标准的货币系统,可能出现4角、2角等规格。第二行输入找零金额,约定必须为1角的整数倍。输出为每种规格及其数量,按规格从大到小输出,如果某种规格不必要,则输出为0。下面是其实现代码,相关说法正确的是(    )。

coins = sorted(list(map(int, input().split())), reverse=True)
amount = int(input())
result = {coin: 0 for coin in coins}
for coin in coins:
	num = amount // coin
	result[coin] = num
	amount -= num * coin
	if amount == 0:
		break

for coin in coins:
	print(f"{coin}角需要{result[coin]}枚")
A

上述代码采用贪心算法实现

B

上述代码总能找到本题目要求的最优解

C

上述代码采用枚举算法实现

D

上述代码采用分治算法

赣ICP备20007335号-2