zjhwq 2023-04-08 09:32 采纳率: 100%
浏览 26
已结题

1029: 表达式的个数 [命题人 : 外部导入] 时间限制 : 1.000 sec 内存限制 : 128 m

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("[", ", ", "]"))
      }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月22日
  • 已采纳回答 4月21日
  • 创建了问题 4月8日

悬赏问题

  • ¥100 复现论文:matlab仿真代码编写
  • ¥15 esp32驱动GC9A01循环播放视频
  • ¥15 惠普360g9的最新bios
  • ¥30 这个功能用什么软件发合适?
  • ¥60 微信小程序,取消订单,偶尔订单没有改变状态
  • ¥15 用pytorch实现PPO算法
  • ¥15 关于调制信号的星座图?
  • ¥30 前端传参时,后端接收不到参数
  • ¥15 这是有什么问题吗,我检查许可证了但是显示有呢
  • ¥15 机器学习预测遇到的目标函数问题