用for和枚举法解决百马百石问题

用for的嵌套和枚举法把每种情况都遍历一遍,输出符合情况的结果。

   //百马百石
    public static void main(String[] args) {
        //定义计数器
        int n = 0;
        //大马的所有方案
        for (int i = 0; i <= 34; i++) {//大马
            //中马的所有方案
            for (int i1 = 0; i1 <= 50; i1++) {//中马
                //小马的所有方案
                for (int i2 = 0; i2 <= 100; i2++) {//小马
                    //比对符合要求的情况(马要为100;粮食要为100;小马要是偶数。)
                    if ((i * 3 + i1 * 2 + i2 / 2 == 100) && (i + i1 + i2 == 100)&&(i2%2==0)) {
                        //输出符合要求的情况
                        System.out.println("大马" + i + " 中马" + i1 + " 小马" + i2);
                        //每输出一次就令计数器自加
                        n++;
                    }
                }

            }

        }
        //输出计数器
        System.out.println(n);
    }
}

输出结果:

大马2 中马30 小马68
大马5 中马25 小马70
大马8 中马20 小马72
大马11 中马15 小马74
大马14 中马10 小马76
大马17 中马5 小马78
大马20 中马0 小马80
7

Process finished with exit code 0
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值