Ex 6_17 数量无限的硬币兑换问题_第七次作业

子问题定义:定义一个数组b,大小比兑换价格的大小多一个元素,其中b[i]表示是否能用面值为x1,x2,x3,..,xn的硬币兑换价格i。
递归关系:

初值设定:设b[0]=true
求解顺序:按下标从小到大依次求解b[i]的值,最后返回b[v]中的结果即为最终结果。
package org.xiu68.ch06.ex7;
public class Ex6_17 {
//数量无限的面值为x1,x2,x3,...,xn的硬币是否能兑换价格v
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] coin=new int[]{5,6};
for(int i=0;i<=30;i++)
convertChange(coin,i);
}
//coin:硬币面值
//v:要兑换的价格
public static void convertChange(int[] x,int v){
boolean b[]=new boolean[v+1]; //能否用硬币兑换价格v
b[0]=true;
for(int i=1;i<=v;i++){ //能否用硬币兑换价格i (子问题的规模)
for(int j=0;j<x.length;j++){
if(i>=x[j] && b[i-x[j]]==true){
b[i]=true;
break;
}else{
b[i]=false;
}
}
}
System.out.println(v+":"+b[v]);
}
//运行结果
/* 0:true
1:false
2:false
3:false
4:false
5:true
6:true
7:false
8:false
9:false
10:true
11:true
12:true
13:false
14:false
15:true
16:true
17:true
18:true
19:false
20:true
21:true
22:true
23:true
24:true
25:true
26:true
27:true
28:true
29:true
30:true*/
}
Ex 6_17 数量无限的硬币兑换问题_第七次作业的更多相关文章
- Ex 6_18 硬币有限的兑换问题_第七次作业
子问题定义: 定义一个二维数组b,其中b[i][j]表示前i个币种是否能兑换价格j,表示第i个币种的面值,第i个币种的使用有两种情况,若使用,则b[i][j]=b[i-1][j-],若不使用,则b[i ...
- Ex 6_19 至多用k枚硬币兑换价格_第七次作业
子问题定义: 定义一个二维数组b,其中b[i][j]表示用i个硬币是否能兑换价格j,表示第i个币种的面值, 递归关系: 初值设定: 求解顺序: 按下标从小到大依次求解数组b每一列的值,最后二维数组b的 ...
- HDU 1284 钱币兑换问题(普通型 数量无限的母函数)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1284 钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others) ...
- C++实现最少硬币兑换问题
最少硬币兑换问题 #include<iostream> #include<fstream> using namespace std; int n,L; //n种硬币L长的数组 ...
- 钱币兑换问题_完全背包&&拆分&&母函数
ps:原来用新浪,可是代码的排版不是很好,所以用博客园啦,先容许我把从八月份开始的代码搬过来,从这里重新出发,希望这里可以一直见证我的成长. Time Limit: 2000/1000 MS (Jav ...
- BZOJ 1042: [HAOI2008]硬币购物 容斥原理_背包_好题
Description 硬币购物一共有4种硬币.面值分别为c1,c2,c3,c4.某人去商店买东西,去了tot次.每次带di枚ci硬币,买s i的价值的东西.请问每次有多少种付款方法. 题解: 十分喜 ...
- 2、动态规划接替套路框架——Go语言版
前情提示:Go语言学习者.本文参考https://labuladong.gitee.io/algo,代码自己参考抒写,若有不妥之处,感谢指正 关于golang算法文章,为了便于下载和整理,都已开源放在 ...
- BUAA OO 2019 第二单元作业总结
目录 总 架构 controller model view 优化算法 Look 算法 多种算法取优 预测未来 多线程 第五次作业 第六次作业 第七次作业 代码静态分析 UML 类图 类复杂度 类总代码 ...
- LeetCode.518 零钱兑换Ⅱ(记录)
518题是背包问题的变体,也称完全背包问题. 解法参考了该篇文章,然后对自己困惑的地方进行记录. 下面是该题的描述: 有一个背包,最大容量为 amount,有一系列物品 coins,每个物品的重量为 ...
随机推荐
- C# ADO.NET基础&实战
什么是ADO.NET:数据库访问技术! 作用:通过程序来连接访问数据库! 一.基础: using System.Data.SqlClient; //数据库连接命名空间 string connec ...
- 洛谷P2668 斗地主
好,终于搞完了这一道毒瘤题...... 先想到搜索,然后想到状压,发现数据组数很多,又是随机,还是决定用搜索. 先搜出的多的,于是顺序是三个顺子,然后按照多到少搜带牌,最后是不带牌. 大体思路很简单, ...
- A1012. The Best Rank
To evaluate the performance of our first year CS majored students, we consider their grades of three ...
- 走近HTTP协议之一 基本网络概念与理解
当今的技术领域,开发者人数最为之多的群体便是web领域,与之相关岗位的包括前端工程师,后台工程师,移动端开发工程师等等.然而由于受时代浮躁氛围的影响,许多开发者对最为基础的HTTP协议都不甚了解,这也 ...
- 2018.9南京网络预选赛(J)
传送门:Problem J https://www.cnblogs.com/violet-acmer/p/9720603.html 变量解释: need[ i ] : 第 i 个房间含有的旧灯泡个数. ...
- springboot项目中jdk版本的问题
几经周折,在idea中修改了多次jdk编译为1.8,可是一编译就恢复到默认的1.7版本. 在经过多次这个博客的修改内容: https://blog.csdn.net/li396864285/artic ...
- C# WinForm文章收集
DataGridView 使用方法集锦 https://blog.csdn.net/zhaoyu_m69/article/details/70307934 关于DataGridView的一些操作(很全 ...
- Mysql错误 ERROR 1064 (42000): You have an error in your SQL syntax
语法错误,可能有各种各样的问题. 我这个摔的太疼了. 字段名不能用空格..
- Java POI 读取word文件
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 1.读取word 2003及word 2007需要 ...
- 微信接口开发之高级篇系列【微信JS-SDK】
PHP微信公众平台开发高级篇—微信JS-SDK 第一步.绑定域名: 第二步.引入JS文件: 第三部.通过Config接口注入权限验证配置 第四部.通过Read接口处理成功验证 第五部.通过Error接 ...