我们可以使用三层循环枚举每种纸币的数量,然后判断总面值是否为50元,总张数是否为25张,每种纸币数量是否不少于1张。具体实现如下:

int count = 0; // 兑换方案数

for (int i = 1; i <= 23; i++) { // 1元纸币数量
    for (int j = 1; j <= 13; j++) { // 2元纸币数量
        for (int k = 1; k <= 7; k++) { // 5元纸币数量
            if (i + j + k == 25 && i + 2 * j + 5 * k == 50) { // 满足条件
                count++;
            }
        }
    }
}

cout << count << endl; // 输出兑换方案数

其中,三层循环分别枚举1元、2元、5元纸币的数量,循环变量的范围是根据题目条件推算出来的。在循环体内,我们判断当前纸币数量是否满足条件,如果满足,则兑换方案数加一。最后输出兑换方案数即可。


原文地址: https://www.cveoy.top/t/topic/mucS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录