Scala语言 小明买了15快的泡面,请问现在超市给小明找钱有多少种方法,打印出每种找钱的方法
1条回答 默认 最新
- threenewbee 2023-04-08 10:00关注
object Main extends App { val noodles = 15 val bills = Array(1, 2, 5, 10, 20, 50, 100) val change = 100 - noodles def calculateChange(bills: Array[Int], amount: Int): List[List[Int]] = { if (amount == 0) { // List(List()) } else if (amount < 0 || bills.isEmpty) { List() } else { val without = calculateChange(bills.tail, amount) val with = calculateChange(bills, amount - bills.head) without ::: with.map(bills.head :: _) } } val methods = calculateChange(bills, change) println(s"共有 ${methods.length} 种方法:") for (method <- methods) { println(method.mkString("[", ", ", "]")) } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1
悬赏问题
- ¥100 复现论文:matlab仿真代码编写
- ¥15 esp32驱动GC9A01循环播放视频
- ¥15 惠普360g9的最新bios
- ¥30 这个功能用什么软件发合适?
- ¥60 微信小程序,取消订单,偶尔订单没有改变状态
- ¥15 用pytorch实现PPO算法
- ¥15 关于调制信号的星座图?
- ¥30 前端传参时,后端接收不到参数
- ¥15 这是有什么问题吗,我检查许可证了但是显示有呢
- ¥15 机器学习预测遇到的目标函数问题