條件:
公雞5元一只,母雞3元一只,小雞1元3只,100元要買100只雞?有多少買法?
設(shè):公雞買x只,母雞y只,小雞n只,則,x+y+n==100(只)因?yàn)橹恍枰I100只,最多不能超過(guò)100只。
錢數(shù)上:5x+3y+3/n==100(元),【切記,小雞的價(jià)格是數(shù)量除以3】只有100元,多了沒(méi)有。
又因?yàn)椋?00元最多買公雞20只/母雞33只/小雞100(因?yàn)橹恍枰I100只,盡管錢數(shù)可以買300只,但是不需要都是多余的)只。
解答:
for(var x = 0; x <= 20; x++){
for(var y = 0; y <= 33; y++){
for(var n = 0; n <= 100; n++){
if ((x + y + n == 100) && (5*x + 3*y + n/3 == 100)) {
document.write(`需要公雞:${x} 只,母雞:${y} 只,小雞:${n} 只。<hr>`)
}
}
}
}
詳解:
首先我們已經(jīng)了解到的條件有:
1、可以混合買;
2、100元必須花盡;
3、必須買100只雞;
4、公雞、母雞、小雞可以選擇任意一種不買,只要滿足2、3條件即可;
我們來(lái)解析第一個(gè)for
公雞最少可以買0只,x = 0;最多可以買20只, x <= 20;
母雞最少可以買33只,y = 0; 最多可以買33只,y <= 33;
小雞最少可以買0只,n = 0; 最多可以買100只, n <= 100;
這時(shí)候用for的循環(huán)和變量來(lái)進(jìn)行第一次運(yùn)算,我買0只公雞,要買多少只母雞和小雞才能滿足100只雞;
設(shè)置必要條件,if語(yǔ)句:
判斷兩個(gè)必要條件2和3; 這兩個(gè)條件都滿足才會(huì)終止循環(huán),所以我們用 && 來(lái)進(jìn)行判斷;
最后得出每一次循環(huán) 符合這兩個(gè)必要條件的結(jié)果,來(lái)進(jìn)行輸出;