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

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

Scala语言 小明买了15快的泡面,请问现在超市给小明找钱有多少种方法,打印出每种找钱的方法

  • 写回答

1条回答 默认 最新

  • threenewbee 2023-04-08 02: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日

悬赏问题

  • ¥20 谁刷目标页面的uv记录器上数据,数据只记录跳转的数值
  • ¥30 数据库软件的安装方法
  • ¥15 一道以太网数据传输题
  • ¥15 python 下载群辉文件
  • ¥50 代码还没怎么运行但是需要代码功能调用数据
  • ¥15 vue请求不到数据,返回状态200,数据为html
  • ¥15 用白鹭引擎开发棋牌游戏的前端为什么这么难找
  • ¥35 哪位专业人士知道这是什么原件吗?哪里可以买到?
  • ¥15 关于#c##的问题:treenode反序列化后获取不到上一节点和下一节点,Fullpath和Handle报错
  • ¥15 一部手机能否同时用不同的app进入不同的直播间?
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部