找零

找零

中等

简介

在神秘的 Coinholt 村,你站在自己烘焙店的柜台后面,正摆放着一批刚出炉的糕点。 门吱呀一声开了,Denara 走了进来,她是一位眼光独到的老练商人。 匆匆吃完一顿饭后,她把一枚闪闪发光的硬币从柜台上推过来,面值 100 单位。

你微笑着接过硬币,瞥了一眼这顿饭的总价:88 单位。 也就是说,你需要找零 12 单位。

Denara 期待地伸出手。 “给我最少的硬币就行,”她笑着说。 “我的钱袋已经满了,我可不想在路上把它们弄丢。”

你知道自己有几种选择。 “可以用来找零的有 Lumis(面值 10 单位)、Viras(面值 5 单位)和 Zenth(面值 2 单位)。”

你在脑子里飞快地算了几种可能:

  • 一枚 Lumis(1 × 10 单位)+ 一枚 Zenth(1 × 2 单位)= 共 2 枚硬币
  • 两枚 Viras(2 × 5 单位)+ 一枚 Zenth(1 × 2 单位)= 共 3 枚硬币
  • 六枚 Zenth(6 × 2 单位)= 共 6 枚硬币

“最好的选择是两枚硬币:一枚 Lumis 和一枚 Zenth,”你说着,把零钱递给她。

Denara 笑了,显然很佩服。 “跟往常一样,你算对了。”

说明

计算应给顾客的最少硬币数量,使这些硬币的面值之和等于正确的找零金额。

示例

  • 应找金额为 15,可用硬币面值为 [1, 5, 10, 25, 100] 时,应返回一枚面值为 5 的硬币和一枚面值为 10 的硬币,即 [5, 10]。
  • 应找金额为 40,可用硬币面值为 [1, 5, 10, 25, 100] 时,应返回一枚面值为 5 的硬币、一枚面值为 10 的硬币和一枚面值为 25 的硬币,即 [5, 10, 25]。
通过 GitHub 编辑 链接将在新窗口或新标签页中打开
Gleam Exercism

准备好开始 找零 了吗?

注册 Exercism,借助 33 个概念122 个练习 和真人导师指导,学习并掌握 Gleam,全部免费。