您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。