给你六种面额1 5 10 20 50 100元的纸币假设每种币值的数量足够多

编写程序求组成N元的不同组合的个数。
输入一个数字N输出一个也是数字,为组成N的组合个数。
如输入2,输出1,输入5,输出2

背包问题:

 1 function fn (all) {
 2     const arr = [1, 5, 10, 20, 50, 100],
 3         len = arr.length,
 4         res = [];
 5     for (let i = 0; i <= len; i++) {
 6         res[i] = [];
 7         res[i][0] = 1;
 8     }
 9     for (let j = 1; j <= all; j++) {
10         res[0][j] = 0;
11     }
12     for (let i = 1; i <= len; i++) {
13         for (let j = 1; j <= all; j++) {
14             res[i][j] = 0;
15             for (let k = 0; k <= j / arr[i - 1]; k++) {
16                 res[i][j] += res[i - 1][j - k * arr[i - 1]];
17             }
18         }
19     }
20     return res[len][all];
21 }
时间: 2024-12-25 06:40:30

给你六种面额1 5 10 20 50 100元的纸币假设每种币值的数量足够多的相关文章

请从L=[1,10,20,50,20,20,1]中找出重复数。

1 L=[1,10,20,50,20,20,1] 2 L1=[] 3 for i in L: 4 if(L.count(i)>1): 5 L1.append(i) 6 L2=[] 7 for i in L1: 8 if i not in L2: 9 L2.append(i) 10 print L2 原文地址:https://www.cnblogs.com/Python-XiaCaiP/p/8521517.html

从“假如有以下几种价格10,20,50,请你代码实现将他们排序输出”看着设计模式中的策略模式

今天重温了一下策略模式,将自己的一些感悟与大家分享...本人只是技术渣渣,所理解的东西的难免会有很大的局限性甚至是错误,还请各位带着批判的眼光去看待....不喜请勿吐槽 定义:策略模式属于设计模式中的对象行为型模式,它将用到的算法单独抽象成一个单独的类.通常,我们在多个类完成同一件事情,仅仅完成的方式不同时,我们可以考虑使用这种设计模式. 举例:相信,很多人在看到"假如有以下几种价格10,20,50,请你代码实现将他们排序输出"这种题目的时候,很快就写出了以下代码,写之前还不忘了问一下

10.19-10.22 iptables规则备份和恢10.20 firewalld的9个zone

10.19 iptables规则备份和恢复 10.20 firewalld的9个zone 10.21 firewalld关于zone的操作 10.22 firewalld关于service的操作 # 10.19 iptables 规则备份和恢复 - 保存和备份iptables 的规则 - service iptables save 会把规则保存到 /etc/sysconfig/iptables - 把iptables规则备份到my.ipt 文件中 - iptables-save > my.ipt

个人回忆录 2014.10.20 至 2015.7.30

时间过的太快.以至于对我来说都记不起来每天做了些什么事情.工作节奏太快,下班.上班 然后再下班再上班. 每天下班后都晚上9点左右.真的看不见日出看不见日落. 从2014.10.20 到现在已经快10个月了.新的工作环境以及新的同事.上司都已熟悉了.回想刚刚开始进入这个研发团队的时候. 高原反应非常强烈,总是在疑问自己为何选择这个方向—C++ 客户端开发.为何不沿用最熟悉的.NET 平台开发.当从新学习一门新技术的时候 才发现自己太笨.有点像当年的高考,时间很紧.因为没有太多的时间用在学习上.MF

(转自http://www.blogjava.net/moxie/archive/2006/10/20/76375.html)WebWork深入浅出

(转自http://www.blogjava.net/moxie/archive/2006/10/20/76375.html) WebWork深入浅出 本文发表于<开源大本营> 作者:钱安川 前言 本篇文章并没有太多WebWork 的实战代码细节.本人非常希望能充当一名导游的角色,带领读者逐步游览WebWork的功能特性和原理.在第一章,我们将提出基于三层架构的Web层需要解决的10个问题,这是本文的纵轴.围绕着纵轴,我们按照横轴的顺序逐步描述讲解:WebWork简介.WebWork入门.We

1 2 5 10 20 --&gt; 800

用1元 2元 5元 10元 20元的钞票凑成800元的方法种数计算,使用了动态规划. 结果没打出来,只是保留在函数里各个vector中,调试可看所有结果. 优点:快 缺点:占空间占内存 耗时时间测试: 和为200:0.0022153191s 和为800:0.025958383s 和为1600:0.062776931s 和为3200:0.18964779s 下面是详细代码,能正常运行算出结果,改进空间很大,只列了思路. 算法为王,C写的O(n2)函数再快也不如R写的O(nlogn)函数. void

10.19 iptables规则备份和恢复 10.20 firewalld的9个zone 10.21

七周五次课 10.19 iptables规则备份和恢复 10.20 firewalld的9个zone 10.21 firewalld关于zone的操作 10.22 firewalld关于service的操作 10.19 iptables规则备份和恢复 10.20 firewalld的9个zone 启动firewalld防火墙,关闭iptables 查看所有的zone和默认的zone 10.21 firewalld关于zone的操作 设置默认zone 设置网卡的zone 10.22 firewal

10.19 iptables规则备份和恢复 10.20 firewalld

10.19 iptables规则备份和恢复 Linux防火墙-netfilter 1. iptables规则保存: 默认规则保存到:/etc/sysconfig/iptables文件中. [[email protected] ~]# service iptables save 2. iptables规则备份(保存)到指定路径: [[email protected] ~]# iptables-save > /tmp/ipt.txt 3. iptables规则清空 : [[email protect

hdu 2069 1 5 10 25 50 这几种硬币 一共100个(母函数)

题意: 有50 25 10 5 1 的硬币 一共最多有100枚 输入n输出有多少种表示方法 Sample Input1126 Sample Output413 1 # include <iostream> 2 # include <cstdio> 3 # include <cstring> 4 # include <algorithm> 5 # include <string> 6 # include <cmath> 7 # incl