`
yiminghe
  • 浏览: 1466696 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

找零问题

阅读更多

问题描述:

 

有n美元需找零.

    美元中有x美分,y美分,z美分,a美分,s美分

总共有多少种方式?


分成两步:
    1.计算使用x美分找零的方法数.
    2.上面数目加上除了使用x美分找零的方法数以外的数目.

 

演示@google code

 

代码:

 

想模仿 scheme 很棘手

 

/*
            
            递归解法,金币找零问题,模仿 scheme
            
		a:[{
			value : value ,//当前零钱金额
			index: index  //当前标签
		}]
	*/
function countchange(a, limitW) {
	var option=[];
	var result=[];
	
	function selectcount(i,value) {
		option[i]=value;
		return i;
	}
	
	function unselectcount(i) {
		option[i]--;
	}
	
	function count_iter(i,remain) {
		if(remain == 0) {
			var tmp=[];
			for(var j=0;j<option.length;j++){
				if(option[j]) {
					tmp.push("金额 "+ a[j].value+ " : "+option[j]+" 个 , ");
				}
			}
			result.push(tmp);
			return i;
		}
		if(remain>=a[i].value) {
			//选择 a[i],计算,然后复原
			unselectcount(
						count_iter(
								selectcount(i,(option[i]||0)+1),remain-a[i].value
											)
										);
		}
		//不选 a[i]
		if(i<a.length-1)
			count_iter(i+1,remain);
		return i;	
	}
	
	count_iter(0,limitW);
	return result;								
}
 
1
0
分享到:
评论

相关推荐

    C 语言实现钱币找零问题,使用贪心算法实现

    下面是一个使用C语言实现的贪心算法示例,即“钱币找零问题”,目标是用最少的钱币数量来找零。 **题目:**给定不同面额的钱币和一个总金额,使用贪心算法计算出最少需要多少个钱币来凑出这个总金额。 要求: 1、...

    贪心算法找零问题代码

    在这个"贪心算法找零问题"中,我们通常面对的是如何用最少数量的硬币来支付给顾客找零的问题。在超市找零的情境下,这个问题变得尤为实际。 在C++编程中,我们可以构建一个贪心算法来解决这个问题。首先,我们需要...

    python数据结构与算法分析,动态规划—找零问题.py

    python数据结构与算法分析,动态规划—找零问题.py

    动态规划求解找零问题和背包问题C++代码

    在这个场景中,我们有两个具体的问题:硬币找零问题和01背包问题,这两个问题都可以通过动态规划来解决,并且都使用了C++语言进行编程。 **一、硬币找零问题** 这个问题的目标是最小化找零所需的硬币数量。给定一...

    Scratch少儿编程项目源代码文件案例蓝桥训练-找零问题.zip

    这个"Scratch少儿编程项目源代码文件案例蓝桥训练-找零问题.zip"是专门为少儿编程爱好者准备的一个教学资源,旨在通过实际操作来教授孩子们如何利用编程解决实际问题,特别是数学中的找零问题。 在这个项目中,找零...

    贪心算法的设计,关于背包问题和超市找零,详细解说

    详细的背包问题和超市找零问题的解说, 代码详细,注释清除,方便使用

    C语言实现钱币找零问题,贪心算法

    下面是一个使用C语言实现的贪心算法示例,即“钱币找零问题”,目标是用最少的钱币数量来找零。 **题目:**给定不同面额的钱币和一个总金额,使用贪心算法计算出最少需要多少个钱币来凑出这个总金额。 要求: ...

    C 语言实现“钱币找零问题”,使用贪心算法

    下面是一个使用C语言实现的贪心算法示例,即“钱币找零问题”,目标是用最少的钱币数量来找零。 **题目:**给定不同面额的钱币和一个总金额,使用贪心算法计算出最少需要多少个钱币来凑出这个总金额。 要求: 1、...

    C/C++实现贪心算法 钱币找零问题

    C/C++实现贪心算法 钱币找零问题,假设有i种纸币,Values[i]元的纸币有Counts[i]张。现在要用这些钱来支付Total元,至少要用多少张纸币?

    java动态规划算法——硬币找零问题实例分析

    Java 动态规划算法——硬币找零问题实例分析 Java 动态规划算法是解决复杂问题的一种有效方法,通过将大问题分解成小问题,从而逐步解决问题。在本文中,我们将通过实例分析 Java 动态规划算法——硬币找零问题,...

    Python基于回溯法子集树模板解决找零问题示例

    在找零问题中,回溯法同样适用,尤其是在硬币面额有限且需要找到最少硬币数目的情况下。 找零问题描述: 假设我们有一组不同面额的硬币,需要找出一种方式,使用最少数量的硬币来凑足给定的金额。在这个例子中,...

    c语言实现找零问题的毕业设计、课程设计

    c语言实现找零问题的毕业设计、课程设计

    L1nwatch#interview_collect#找零问题1

    题目找零问题, 给个金额让你找出对应的最小硬币数目背包问题解法?

    js贪心算法 钱币找零问题代码实例

    在解决货币找零问题时,贪心算法通过选择当前最大面额的硬币来减少硬币的总数。本文通过JavaScript语言演示了如何实现一个贪心算法来解决美国常见的硬币面额的找零问题,并给出了具体的代码示例。 首先,我们定义了...

    Java动态规划之硬币找零问题实现代码

    Java动态规划之硬币找零问题实现代码 Java动态规划是一种非常重要的算法思想,通过将问题分解成多个子问题,先求解子问题,然后将这些子问题的解保存起来,以便在求解较大子问题时可以直接使用这些已经计算过的解,...

    硬币找零动态规划C语言实现

    一个简单的动态规划算法实例,实现硬币找零的最小硬币数以及每种面额硬币的数量。

    贪心算法——最少硬币找钱

    ### 贪心算法在最少硬币找零问题中的应用 #### 一、问题背景及定义 在实际生活中,我们经常遇到需要找零的情况。如何用最少数量的硬币完成找零?这个问题不仅关乎日常生活中的便利性,也是计算机科学领域内一个...

    买票找零问题代码

    一场激烈足球赛即将开始,售票员紧张地卖票着……。 每张球票50元,现在有2n(1)个球迷排队购票,其中n个...假设开始售票时售票处没有零钱可以找零。 问这2n个人有多少种排队方式,不至使售票处出现找不出零的局面?

    JS使用贪心算法解决找零问题示例

    在本文中,我们主要关注如何用JavaScript实现贪心算法来解决找零问题。找零问题是一个典型的动态规划问题,也可以用贪心算法来求解。其基本问题描述是这样的:假设你是一个售货员,需要为顾客找零,假定你有无限数量...

Global site tag (gtag.js) - Google Analytics