摘要:原文链接欢迎现在有块钱人民币,将块钱换成零钱最小币值元,一共有多少方式总的不同方式的数目等于将现金数换成除第一种币值之外的所有其他硬币的不同方式数据,加上将现金数第一种币值换成所有种类的币值的不同方式,根据上面的说法来实现吧实现中的是中的
原文链接: 欢迎 Star
现在有100块钱人民币,将 100 块钱换成零钱(最小币值 1 元),一共有多少方式?
总的不同方式的数目等于:
将现金数 100 换成除第一种币值之外的所有其他硬币的不同方式数据, 加上
将现金数 (100 - 第一种币值) 换成所有种类的币值的不同方式
ok, 根据上面的说法来实现吧:
"use strict" // 实现 lisp 中的 list // car 是 list 中的第一个值 // cdr 是 list 中的剩下的值的集合 const list = (...args) => args ,car = (list) => list[0] ,cdr = (list) => list.slice(1) // 换零钱的方式 // 如果换 0 元钱,就算是有一种换钱方式 // 如果换的钱小于 0, 那么就算有零种换钱方式 // 如果币值的长度为 0, 那么也算是有零种换钱方式 function count_change(amount, coin_values) { switch (true) { case (amount === 0): return 1 case (amount < 0 || no_more(coin_values)): return 0 default: return ( count_change(amount, except_first_denomination(coin_values)) + count_change( amount - first_denomination(coin_values), coin_values ) ) } } function no_more(coin_values) { return coin_values.length === 0 } function first_denomination(coin_values) { return car(coin_values) } function except_first_denomination(coin_values) { return cdr(coin_values) }
测试一下:
const cn_coins = list(100, 50, 20, 10, 5, 2, 1) count_change(100, cn_coins) // ---> 4563
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/91312.html
摘要:需要结合其他测试用例设计的方法进行补充。比如边界值边界值在软件中边界值测试方法是发现错误能力最强的一种。其中,原因是表示输入条件,结果是对输入执行的一系列计算后得到的输出。与取值或,表示某状态不出现,则表示某状态出现。 ...
问题:现有现金a,并且有n种面额的零钱,问,共有多少种找零方式。问题细化:现有现金1元,并且有50分,25分,10分,5分,1分五种面额,用这5种零钱组成1元,共有多少种方式? 如果把n种零钱按照某种顺序排列(如50分,25分,10分,5分,1分,不一定升序或降序,也可以乱序),那么问题可以转化为:现金a用除第一种零钱之外其他面额的找零方式数目加上现金a-d用所有面额的找零方式数目,其中d为第一...
摘要:简介检查我们写的代码是否满足指定规则的静态代码检查工具。作用作为代码检查工具,其作用主要有以下几点统一代码风格规则,如缩进用几个空格是否用驼峰命名法来命名变量和函数名等。 1、简介: eslint检查我们写的 JavaScript 代码是否满足指定规则的静态代码检查工具。 ESHint 和 JSLint 也是静态代码检查工具,但伴随着发展,他们已经无法满足需求,于是ESlint 诞...
摘要:以前想过一个类似问题,就是没有每个人最大最小的得钱数的限制,以前的问题可以很好用随机数解决。于是这个问题也被以前的思想带坑里了,把突破口完全放在了如何处理每个人的随机数上。在与面试交谈中,明显有些紧张。 以前想过一个类似问题,就是没有每个人最大、最小的得钱数的限制,以前的问题可以很好用随机数解决。 于是这个问题也被以前的思想带坑里了,把突破口完全放在了如何处理每个人的随机数上。 于是在...
阅读 2081·2021-11-11 16:55
阅读 3149·2021-10-11 10:58
阅读 3016·2021-09-13 10:28
阅读 3932·2021-07-26 23:57
阅读 979·2019-08-30 15:56
阅读 1317·2019-08-29 13:15
阅读 1241·2019-08-26 18:18
阅读 1243·2019-08-26 13:44