子问题定义:定义一个数组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 数量无限的硬币兑换问题_第七次作业的更多相关文章

  1. Ex 6_18 硬币有限的兑换问题_第七次作业

    子问题定义: 定义一个二维数组b,其中b[i][j]表示前i个币种是否能兑换价格j,表示第i个币种的面值,第i个币种的使用有两种情况,若使用,则b[i][j]=b[i-1][j-],若不使用,则b[i ...

  2. Ex 6_19 至多用k枚硬币兑换价格_第七次作业

    子问题定义: 定义一个二维数组b,其中b[i][j]表示用i个硬币是否能兑换价格j,表示第i个币种的面值, 递归关系: 初值设定: 求解顺序: 按下标从小到大依次求解数组b每一列的值,最后二维数组b的 ...

  3. HDU 1284 钱币兑换问题(普通型 数量无限的母函数)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1284 钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others)    ...

  4. C++实现最少硬币兑换问题

    最少硬币兑换问题 #include<iostream> #include<fstream> using namespace std; int n,L; //n种硬币L长的数组 ...

  5. 钱币兑换问题_完全背包&&拆分&&母函数

    ps:原来用新浪,可是代码的排版不是很好,所以用博客园啦,先容许我把从八月份开始的代码搬过来,从这里重新出发,希望这里可以一直见证我的成长. Time Limit: 2000/1000 MS (Jav ...

  6. BZOJ 1042: [HAOI2008]硬币购物 容斥原理_背包_好题

    Description 硬币购物一共有4种硬币.面值分别为c1,c2,c3,c4.某人去商店买东西,去了tot次.每次带di枚ci硬币,买s i的价值的东西.请问每次有多少种付款方法. 题解: 十分喜 ...

  7. 2、动态规划接替套路框架——Go语言版

    前情提示:Go语言学习者.本文参考https://labuladong.gitee.io/algo,代码自己参考抒写,若有不妥之处,感谢指正 关于golang算法文章,为了便于下载和整理,都已开源放在 ...

  8. BUAA OO 2019 第二单元作业总结

    目录 总 架构 controller model view 优化算法 Look 算法 多种算法取优 预测未来 多线程 第五次作业 第六次作业 第七次作业 代码静态分析 UML 类图 类复杂度 类总代码 ...

  9. LeetCode.518 零钱兑换Ⅱ(记录)

    518题是背包问题的变体,也称完全背包问题. 解法参考了该篇文章,然后对自己困惑的地方进行记录. 下面是该题的描述: 有一个背包,最大容量为 amount,有一系列物品 coins,每个物品的重量为 ...

随机推荐

  1. C# ADO.NET基础&实战

    什么是ADO.NET:数据库访问技术! 作用:通过程序来连接访问数据库! 一.基础: using System.Data.SqlClient;    //数据库连接命名空间 string connec ...

  2. 洛谷P2668 斗地主

    好,终于搞完了这一道毒瘤题...... 先想到搜索,然后想到状压,发现数据组数很多,又是随机,还是决定用搜索. 先搜出的多的,于是顺序是三个顺子,然后按照多到少搜带牌,最后是不带牌. 大体思路很简单, ...

  3. A1012. The Best Rank

    To evaluate the performance of our first year CS majored students, we consider their grades of three ...

  4. 走近HTTP协议之一 基本网络概念与理解

    当今的技术领域,开发者人数最为之多的群体便是web领域,与之相关岗位的包括前端工程师,后台工程师,移动端开发工程师等等.然而由于受时代浮躁氛围的影响,许多开发者对最为基础的HTTP协议都不甚了解,这也 ...

  5. 2018.9南京网络预选赛(J)

    传送门:Problem J https://www.cnblogs.com/violet-acmer/p/9720603.html 变量解释: need[ i ] : 第 i 个房间含有的旧灯泡个数. ...

  6. springboot项目中jdk版本的问题

    几经周折,在idea中修改了多次jdk编译为1.8,可是一编译就恢复到默认的1.7版本. 在经过多次这个博客的修改内容: https://blog.csdn.net/li396864285/artic ...

  7. C# WinForm文章收集

    DataGridView 使用方法集锦 https://blog.csdn.net/zhaoyu_m69/article/details/70307934 关于DataGridView的一些操作(很全 ...

  8. Mysql错误 ERROR 1064 (42000): You have an error in your SQL syntax

    语法错误,可能有各种各样的问题. 我这个摔的太疼了. 字段名不能用空格..

  9. Java POI 读取word文件

    Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 1.读取word 2003及word 2007需要 ...

  10. 微信接口开发之高级篇系列【微信JS-SDK】

    PHP微信公众平台开发高级篇—微信JS-SDK 第一步.绑定域名: 第二步.引入JS文件: 第三部.通过Config接口注入权限验证配置 第四部.通过Read接口处理成功验证 第五部.通过Error接 ...