问题如下:
公鸡5元一只,母鸡3元一只,小鸡1元3只,100元要买100只鸡?有多少买法?
解答:
设公鸡买了a只,母鸡买了b只,小鸡买了c只。则a+b+c=100,因为题目中说了要买100只鸡,所以要买鸡的总数量为100.
那公鸡5元一只,母鸡3元一只,小鸡1元3只,一共只能花100元买鸡,所以可以得到5a+3b+n/3=100 。
如果只买公鸡,可以买20只。
如果只买母鸡,可以买33只。
如果只买小鸡,则可以买100只(这里为什么明明可以买三百只,我们却只买100只呢,因为题目中的要求就是只买100只鸡,买鸡数量不能超过100)
我们先来定义公鸡
for(var = a; a<=20;a++)//这个是如果只买公鸡,最多可以买a<=20只
定义母鸡
for(var = b; b<=33;b++)//这个是如果只买母鸡,最多可以买b<=33只
定义小鸡
for(var = c; c<=100;c++)//这个是如果只买小鸡,最多可以买c<=100只
把所有的鸡定义
if((a+b+c==100)&&(a*5+b*3+c/3==100))
( 这里有同学可能会问 为什么两个中间条件中间要用&&,&&是找第一个为false的值并返回,如果这两个条件都是对的,那么它就找不到,直接向下执行代码)
然后把它们嵌套起来
for(var a=0;a<=20;a++){
for(var b=0;b<=33;b++){
for(var c=0;c<=100;c++)
if((a+b+c==100)&&(a*5+b*3+c/3==100)){
document.write("母鸡数量"+a,"公鸡数量"+b,"小鸡数量"+c);
document.write('<br>');
}
}
}
结果如下
怎么样 听了我的解答 ,有没有思路清晰一点呢?
小编能力有限,可能存在一些错误,希望大家能够帮忙指出错误