100匹马驮100块石头

博客讨论了一个经典的数学问题:100匹马驮100块石头,马分为大、中、小三种,每种马能驮不同数量的石头。通过编程的方式,作者展示了如何高效地找到解决方案,强调了代码在解决这类问题上的优势。
摘要由CSDN通过智能技术生成
现在共有100 匹马和100石头,马分三种,大马,中马,小马.其中,每匹大马每次可以驮三块石头,中马可以驮两块石头,而小马两匹才能驮一块,问需要多少匹大马,中马和小马?
一般人思路:
设:大羊需要x只,中羊需要y只,小羊需要z只
可得:
X+y+z=100;
3x+2y+0.5z=100;
2x=3y;
X=6z;
Y=4z;
......

显然这样的话,答案就是不唯一,如果我们穷举的话,简直要烦到爆炸,
但是…
如果用代码解题的话,那就简单的不要不要的:

	     let res=[]
            for(let i=0;i<=100;i+=2){
                for(let j=0;j<100-i;j++){
                    if((0.5*i)+(2*j)+((100-i-j)*3)==100){
                        res.push(("小:"+i+",中:"+j+",大:"+(100-i-j)))
                    }
                }
           }

秒秒钟的事儿啊~~~
答案:

0:"小:68,中:30,大:2"
1:"小:70,中:25,大:5"
2:"小:72,中:20,大:8"
3:"小:74,中:15,大:11"
4:"小:76,中:10,大:14"
5:"小:78,中:5,大:17"
6:"小:80,中:0,大:20"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值