1、过桥问题
说甲有100000元现金,每过一次路口需要交纳一次费用。缴费规则是,当他的现金大于50000元时,每次需要缴纳5%的现金;如果现金小于等于50000元时,每次缴纳5000元。计算此人可以经过多少次路口。
<?php for ($i=100000,$cnt=0; $i>=5000 ; ) { $cnt += 1; if ($i>50000) { $i *= 0.95; }else{ $i -= 5000; } echo '第',$cnt,'次过桥,剩',$i,'元<br />'; } ?>
2、打印九九乘法表
<?php for ($i = 1; $i<=9 ; $i++) { for ($j = 1; $j<=$i; $j++) { echo $j,'*',$i,'=',$j*$i,' '; } echo "<br />"; } ?>
3、百钱买百鸡
今有公鸡一只值5文钱,母鸡一只值3文钱,鸡雏三只值一文钱,一百文钱买鸡一百只,问公鸡、母鸡、鸡雏各多少只?
<?php for ($g = 1; $g<20; $g++) { //由题意可直接得出$g的取值范围,下同。 for ($m = 1; $m<=33; $m++) { $x = 100 - $g -$m;//没有必要再嵌套第三个for循环,减少不必要的运算。 if (($g+$m+$x == 100) && ($g*5 + $m*3 + $x/3 == 100)) { echo '公鸡,母鸡,小鸡各',$g,'只',$m,'只',$x,'只<br />'; } } } ?>
今天了解了关于这几个经典问题的计算与思考,一直在想着是否有其他的方法可以解决这些问题。
同时在思考在遇到类似的计算时,如何转换思维方式,把我们通俗易懂的语言转换为计算机可以理解的语言。这也许是我今后更要为之努力的地方。
一直都是在自己浅薄的思考中踽踽独行,也许也不是什么好事情,但好歹也是一次全新的尝试吧,不求其他,惟愿自己坚持走下去。
不断尝试不断进步,不断学习,不断借鉴,不断地坚持下去,这些,都才是最重要的。