第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

PHP經(jīng)典題:百錢百雞問題(窮舉算法)

標(biāo)簽:
PHP

百钱百鸡问题:

已知:公鸡5元一只,母鸡3元一只,小鸡一元3只

现用100元钱买了100只鸡,问:公鸡母鸡小鸡各几只?

--请考虑尽可能高效的方法


思路:

如果有0只公鸡,0只母鸡,1只小鸡,数量是100吗?价钱是100吗? 否

如果有0只公鸡,0只母鸡,2只小鸡,数量是100吗?价钱是100吗? 否

如果有0只公鸡,0只母鸡,3只小鸡,数量是100吗?价钱是100吗? 否

......

如果有0只公鸡,0只母鸡,100只小鸡,数量是100吗?价钱是100吗? 否

如果有0只公鸡,1只母鸡,1只小鸡,数量是100吗?价钱是100吗? 否

如果有0只公鸡,1只母鸡,2只小鸡,数量是100吗?价钱是100吗? 否

......

如果有0只公鸡,1只母鸡,100只小鸡,数量是100吗?价钱是100吗? 否

如果有0只公鸡,2只母鸡,1只小鸡,数量是100吗?价钱是100吗? 否

......

如果有100只公鸡,100只母鸡,0只小鸡,数量是100吗?价钱是100吗? 否

如果有100只公鸡,100只母鸡,1只小鸡,数量是100吗?价钱是100吗?

如果有100只公鸡,100只母鸡,2只小鸡,数量是100吗?价钱是100吗?

......

这就叫做:穷举思想 (就是将所以可能的情况挨个去测试)


PHP代码:


echo "<p>原始思路:</p>";

$count = 0;

for($gongji = 0; $gongji <= 100; ++$gongji) {

for($muji = 0; $muji <= 100; ++$muji) {

for($xiaoji = 0; $xiaoji <= 100; ++$xiaoji) {

if($gongji*5 + $muji*3 + $xiaoji/3 == 100 && $gongji + $muji + $xiaoji == 100) {

echo "<br />公鸡有 $gongji 只;母鸡有 $muji 只;小鸡有 $xiaoji 只;";

}

$count++; //计算次数

}

}

}

echo "<br />次数:$count";

echo '<br />';

echo "<p>代码优化一:</p>";


$count = 0;

for($gongji = 0; $gongji <= 100; ++$gongji) {

for($muji = 0; $muji <= 100; ++$muji) {

$xiaoji = 100 - $gongji - $muji;

if($gongji*5 + $muji*3 + $xiaoji/3 == 100) {

echo "<br />公鸡有 $gongji 只;母鸡有 $muji 只;小鸡有 $xiaoji 只;";

}

$count++; //计算次数

}

}

echo "<br />次数:$count";


echo '<br />';

echo "<p>代码优化二:</p>";


$count = 0;

for($gongji = 0; $gongji <= 100/5; ++$gongji) { //根据总价:则公鸡最多有100/5只

for($muji = 0; $muji <= 100/3; ++$muji) { //根据总价:则母鸡最多有100/3只

$xiaoji = 100 - $gongji - $muji;

if($gongji*5 + $muji*3 + $xiaoji/3 == 100) {

echo "<br />公鸡有 $gongji 只;母鸡有 $muji 只;小鸡有 $xiaoji 只;";

}

$count++; //计算次数

}

}

echo "<br />次数:$count";



echo '<br />';

echo "<p>代码优化三:</p>";


$count = 0;

for($gongji = 0; $gongji <= 100/5; ++$gongji) { //根据总价:则公鸡最多有100/5只

for($muji = 0; $muji <= (100-$gongji*5)/3; ++$muji) { //根据总价与公鸡所花的钱:则母鸡最多有(100-$gongji*5)/3只

$xiaoji = 100 - $gongji - $muji;

if($gongji*5 + $muji*3 + $xiaoji/3 == 100) {

echo "<br />公鸡有 $gongji 只;母鸡有 $muji 只;小鸡有 $xiaoji 只;";

}

$count++; //计算次数

}

}

echo "<br />次数:$count";



echo '<br />';

echo "<p>代码优化四:</p>";


$count = 0;

for($gongji = 0; $gongji <= 100/5; ++$gongji) { //根据总价:则公鸡最多有100/5只

for($muji = 0; $muji <= (100-$gongji*5)/3; ++$muji) { //根据总价与公鸡所花的钱:则母鸡最多有(100-$gongji*5)/3只

$xiaoji = 100 - $gongji - $muji;

if($xiaoji % 3 != 0) {continue;} //考虑小鸡的价钱,则小鸡的数量只能被3整除才合理

if($gongji*5 + $muji*3 + $xiaoji/3 == 100) {

echo "<br />公鸡有 $gongji 只;母鸡有 $muji 只;小鸡有 $xiaoji 只;";

}

$count++; //计算次数

}

}

echo "<br />次数:$count";


输出的结果及计算次数:


原始思路:


公鸡有 0 只;母鸡有 25 只;小鸡有 75 只;
公鸡有 4 只;母鸡有 18 只;小鸡有 78 只;
公鸡有 8 只;母鸡有 11 只;小鸡有 81 只;
公鸡有 12 只;母鸡有 4 只;小鸡有 84 只;
次数:1030301

代码优化一:


公鸡有 0 只;母鸡有 25 只;小鸡有 75 只;
公鸡有 4 只;母鸡有 18 只;小鸡有 78 只;
公鸡有 8 只;母鸡有 11 只;小鸡有 81 只;
公鸡有 12 只;母鸡有 4 只;小鸡有 84 只;
次数:10201

代码优化二:


公鸡有 0 只;母鸡有 25 只;小鸡有 75 只;
公鸡有 4 只;母鸡有 18 只;小鸡有 78 只;
公鸡有 8 只;母鸡有 11 只;小鸡有 81 只;
公鸡有 12 只;母鸡有 4 只;小鸡有 84 只;
次数:714

代码优化三:


公鸡有 0 只;母鸡有 25 只;小鸡有 75 只;
公鸡有 4 只;母鸡有 18 只;小鸡有 78 只;
公鸡有 8 只;母鸡有 11 只;小鸡有 81 只;
公鸡有 12 只;母鸡有 4 只;小鸡有 84 只;
次数:364

代码优化四:


公鸡有 0 只;母鸡有 25 只;小鸡有 75 只;
公鸡有 4 只;母鸡有 18 只;小鸡有 78 只;
公鸡有 8 只;母鸡有 11 只;小鸡有 81 只;
公鸡有 12 只;母鸡有 4 只;小鸡有 84 只;
次数:121


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報(bào)

0/150
提交
取消