摘要:原文鏈接歡迎現在有塊錢人民幣,將塊錢換成零錢最小幣值元,一共有多少方式總的不同方式的數目等于將現金數換成除第一種幣值之外的所有其他硬幣的不同方式數據,加上將現金數第一種幣值換成所有種類的幣值的不同方式,根據上面的說法來實現吧實現中的是中的
原文鏈接: 歡迎 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
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/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 誕...
摘要:以前想過一個類似問題,就是沒有每個人最大最小的得錢數的限制,以前的問題可以很好用隨機數解決。于是這個問題也被以前的思想帶坑里了,把突破口完全放在了如何處理每個人的隨機數上。在與面試交談中,明顯有些緊張。 以前想過一個類似問題,就是沒有每個人最大、最小的得錢數的限制,以前的問題可以很好用隨機數解決。 于是這個問題也被以前的思想帶坑里了,把突破口完全放在了如何處理每個人的隨機數上。 于是在...
閱讀 2100·2021-11-11 16:55
閱讀 3171·2021-10-11 10:58
閱讀 3038·2021-09-13 10:28
閱讀 3967·2021-07-26 23:57
閱讀 1005·2019-08-30 15:56
閱讀 1331·2019-08-29 13:15
閱讀 1258·2019-08-26 18:18
閱讀 1268·2019-08-26 13:44