您好,登錄后才能下訂單哦!
php趣味100例 - php天平稱物
(php,php趣味,php編程,php窮舉法,php for循環的運用)
<?php /* 天平稱物 4個砝碼:總質量是40克。砝碼的重量是整數。各不相等 這個組合可以稱出1-40克的任意重量 w1,w2,w3,w4 w1+w2+w3+w4=40 w1!=w2!=w3!=w4 窮舉法 這個組合可以稱出1-40任意的重量 w 為任意重量(在1-40之間) a1*w1+a2*w2+a3*w3+a4*w4 = W a1~a4 在1 0 -1之間取值 比如如果要稱重要為8的話 a1*w1+a2*w2+a3*w3+a4*w4 = 8 $flag=1表示可以40以內任意的值 0表示不能 窮舉法 */ header("Content-Type: text/html; charset=utf-8"); ?> <?php $w1=0;$w2=0;$w3=0;$w4=0;$w=0; for($w1=1;$w1<=40;$w1++){ for($w2=$w1+1;$w2<=40-$w1;$w2++){ for($w3=$w2+1;$w3<=40-$w2-$w1;$w3++){ if(($w4=40-$w1-$w2-$w3)>=$w3){ if($w1!=$w2 && $w2!=$w3 && $w3!=$w4 && $w4!=$w1){ for($w =1,$flag=1;$w<41&&$flag==1;$w++){//默認是1 for($a1=1,$flag=0;$a1>-2;$a1--){//設成0 for($a2=-1;$a2<2;$a2++){ for($a3=-1;$a3<2;$a3++){ for($a4=-1;$a4<2;$a4++){ if( ($a1*$w1+$a2*$w2+$a3*$w3+$a4*$w4) == $w ){ //echo $w.'='.$a1.'*'.$w1.' + '.$a2.'*'.$w2.' + '.$a3.'*'.$w3.' + '.$a4.'*'.$w4.'<br />'; $flag =1;//如果能相等就設為1 } } } } } } if($flag==1){ echo '四個砝碼:'.$w1.' '.$w2.' '.$w3.' '.$w4; } } } } } } // ?>
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。