java用一张一元票换一分,把一元纸币换成一分、二分、五分硬币(每种至少一枚),有多少种换法?使用递归...
Java codepublic class PayType {
private static int count=0;
private static int coins[]={1,2,5};
public static void main(String[] args) {
int amount=1*100;
int coinsCount[]=new int[coins.length];
//先每种至少一张
for(int i=coinsCount.length-1;i>=0;i--)
{
amount-=coins[i];
coinsCount[i]=1;
}
//从最大开始付
pay(amount,coinsCount.length-1,coinsCount);
System.out.println("count:"+count);
}
private static void print(int coinsCount[])
{
count++;
String str="";
int total=0;
for(int i=coinsCount.length-1;i>=0;i--)
{
if(i==coinsCount.length-1)
str+=coins[i]+"*"+coinsCount[i];
else
str+="+"+coins[i]+"*"+coinsCount[i];
total+=coins[i]*coinsCount[i];
}
System.out.println(str+"="+total);
}
private static void pay(int amount,int coinIdx,int srcCoinsCount[])
{
int coin=coins[coinIdx];
int[] coinsCount=new int[srcCoinsCount.length];
for(int i=0;i
{
coinsCount[i]=srcCoinsCount[i];
}
//如果是最小一种
if(coinIdx==0)
{
//整除,则合适
if(amount%coin==0)
{
coinsCount[coinIdx]+=amount/coin;
print(coinsCount);
}
return;
}
if(amount>=coin)
{
//用下一种面值付
pay(amount,coinIdx-1,coinsCount);
//继续用当前面值付
coinsCount[coinIdx]++;
amount-=coin;
pay(amount,coinIdx,coinsCount);
}
//不够,则用下一种面值付
else
{
pay(amount,coinIdx-1,coinsCount);
}
}
}
java用一张一元票换一分,把一元纸币换成一分、二分、五分硬币(每种至少一枚),有多少种换法?使用递归...相关推荐
- java硬币兑换_java程序题:把一元钞票换成一分、二分、五分硬币(每种至少一枚),有哪些种换法...
满意答案 alexjia301 2015.01.15 采纳率:42% 等级:6 已帮助:257人 123456789101112131415161718192021222324252627/** ...
- 【Java】将一元换成5分,2分和1分的硬币,有多少种换法
#换硬币 将一元换成5分,2分和1分的硬币,有多少种换法 public class Coin {public static void main(String[] args) {// TODO 自动生成 ...
- JAVA编程_05_超市奖票兑换
某家超市有一种促销手段,购买金额超过一定金额就给一张随机编号奖票.编号是一个1到100之间的数字.当收集到连续编号的三张贴花时,就可以换一个小礼物.兑换完礼物后,该奖票就作废. 小明经常去某家超市购物 ...
- Java线程同步-模拟买票
文章首发于 2020-11-29 知乎文章:Java线程同步-模拟买票 作者:落雨湿红尘(也是我o) 01 导语 本文使用JAVA代码模拟买票场景下的业务交互,通过示例讲解线程的初始化.线程同步等ja ...
- java实现多张条码转成pdf文件
目录 需求 管理后台通过查询并生成多张条码并一起打印出来 思路 思路一 思路二 代码编写 maven pom文件 方法一 步骤一:创建barcode 条码文件 步骤二:将创建的barcode 条码文件 ...
- mysql数据库访问300ms以上_[Java教程]一张900w的数据表,16s执行的SQL优化到300ms?...
[Java教程]一张900w的数据表,16s执行的SQL优化到300ms? 0 2020-11-20 16:00:16 一,前言 证实 有一张财务流水表,未分库分表,目前的数据量为9555695,分页 ...
- 既然是青春,怎么能错过?唯一理由只缺1张免费票!
很少有一部电影像魔兽这般 积累了玩家长达10年的等待 然而正当我们满怀期待的时候 试映的影评人评分却纷纷跳水,比如: Metacritic上仅31分的满意度 烂番茄上18%的新鲜度 歪果仁也纷纷开启了 ...
- 精品基于java开发的航空订票系统SSM
<基于java开发的航空订票系统>该项目含有源码.论文等资料.配套开发软件.软件安装教程.项目发布教程等 使用技术: 开发语言:Java 框架:ssm 技术:JSP JDK版本:JDK1. ...
- 基于JAVA Web的航空订票系统
基于JAVA Web的航空订票系统 开发语言:JSP,JAVAweb 开发平台:eclipse; 数据库:MYSQL: 系统分为前台和后端: 前台界面图: 登录界面: 主界面图: 后端界面 登录: 后 ...
最新文章
- ThinkPHP5.0中Redis的使用和封装(原创)
- java 鼠标 停止工作原理,java系统级的键盘和鼠标状态
- 用 Flask 来写个轻博客 (7) — (M)VC_models 的关系(many to many)
- 【Android 插件化】Hook 插件化框架总结 ( 插件包管理 | Hook Activity 启动流程 | Hook 插件包资源加载 ) ★★★
- java set第n位_数据结构与算法——常用数据结构及其Java实现
- 半夜闲的真是蛋疼。。。决定写个小博文
- 2种图像增强方法:图像点运算和图像灰度化处理
- UVA - 207 PGA Tour Prize Money
- c# lock的使用及注意事项
- python如何调整图片大小_Python实现图片尺寸缩放脚本
- 高防CDN为什么会被TTCDN取代的?
- 情话套路大全,哈哈哈~~~
- appuim框架二次封装-UI自动化-自整理亲自实践
- linux 445端口连不上,Linux配置防火墙,开启访问端口
- 下载了突袭:资源战争
- 适配器模式【Adapter Pattern】
- 荣欣Linux运维+Oracle DBA实战训练
- 让windows 2008 也netmeeting
- 计算机作业评价表,【作业检查记录评语】_教导处作业检查评语,教导处作业检查记录...
- 05. HAXM is not installed
热门文章
- ADONIS、ANOSIM、Mangel_test、MRPP
- Error querying database. Cause: java.sql.SQLException
- python五边形的代码_如何使用pythonttkinter画布中的create_line创建五边形和六边形?...
- 互联网人如何拓展自己的人脉
- NAS 详细搭建方案 -添加磁盘
- CTP: SimNow , 策略模拟交易利器,赞!
- 中外合作计算机专业的大学排名,美国计算机专业大学排名
- java中的push方法_Java ArrayDeque push()方法与示例
- STM32 Keil快速新建工程
- 无胁科技-TVD每日漏洞情报-2022-11-24