本文主要是介绍100匹马驮100块石头,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
现在共有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"
这篇关于100匹马驮100块石头的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!