用100元人民币兑换10元、5元、1元的纸币(每张都要有)共有多少种兑换方案?
难度指数:★★
方法:多重循环
解题思路分析:
1.100元兑换10元纸币,可以兑换10张,但每种纸币都要有,所以最多只能兑换9张,最少兑换1张。则初始值为1;循环条件小于10或者小于等于9。
2.100元兑换5元纸币,可以兑换20,但每种纸币都要有,所以最多只能兑换19张,最少兑换1张。初始值为1;循环条件小于20或者小于等于19。
3.100元兑换1元纸币,可以兑换100张,但每种纸币都要有,所以最多只能兑换99张,最少兑换1张。则初始值为1;循环条件小于100或者小于等于99。
4.判断10元纸币的张数 + 5元纸币的张数 + 1元纸币的张数 的值是否等于100。则符合条件输出兑换方案
5.声明一个全局变量用作累加器,在最内层循环计算有多少复合条件的兑换方案,符号兑换条件自增一次。最后可在最外层for循环外输出有多少种兑换方案。
代码如下:
public static void main(String[] args) {
//声明一个全局变量用作累加器
int count = 0;
//100元兑换10元纸币,则初始值为1;循环条件小于20或者小于等于19;
for(int shiYuan = 1 ; sh