将一张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++就可以了。