将一张100元的钞票换成1元、5元和10元的钞票,每种钞票至少一张,编写程序输出所有的换法,循环次数需要尽可能地少。

将一张100元的钞票换成1元、5元和10元的钞票,每种钞票至少一张,编写程序输出所有的换法,循环次数需要尽可能地少。

有题目不会写就留言,我写博客
看到这个题就是个水题,但是最后这一句话把难度加大了一点点,虽然还是有点低。但是看别人写完,循环次数几百的几千的都有,我算了一下我的,没超过100,如果有大佬比我的还少,请评论(那个直接输出9*9=81种就不要评论了),直接输出的就不要bb了。。。。
ok,接下来看代码吧,代码还是比较容易看懂的


public class nxbhd
{
	public static void main(String[] args)
	{
		int c=0;
		int money=100-10-5-1-4;//最后减4,是因为4元只能用1元才可以换
		for (int i = 0; i <= 8; i++)
		{
			for(int j=(8-i)*2; j >=0 ;j--){
				System.out.println("10元的"+(i+1)+"张+5元的"+(j+1)+"张+1元的"+(80-i*10-j*5+5)+"张");
				c++;
			}
		}
		System.out.println("一共有"+c+"种");
	}
}

在这里插入图片描述
输出有点多,如果你只需要结果的话,自己删一下for循环里面的输出,只保留c++就可以了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值