php编程趣事:乘法口诀、百钱买百鸡、过桥等问题
练习题一:乘法口诀
function aXb() { for($i=1;$i<10;$i++) { for($j=1;$j<=$i;$j++) { echo $j.'*'.$i.'='.($j * $i)." "; } echo '<br />'; } } aXb(); # 以下为输出的结果 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
练习题二:百钱百鸡的问题
《张丘建算经》成书于公元5世纪,作者是北魏人,书中最后一道题堪称亮点,通常也被称为“百钱买百鸡”问题,民间则流传着县令考问神童的佳话书中原文如下:
今有鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;
百钱买鸡百只,问鸡翁、母、雏各几何?
题目的意思是,公鸡5文钱1只,母鸡3文钱1只,小鸡1文钱买3只,
现在用100文钱共买了100只鸡,
问:在这100只鸡中,公鸡、母鸡和小鸡各是多少只?(设每种至少一只)
# $a,$b,$c分别指代鸡公,鸡母,鸡仔的数量 function buyChicken() { for($a=1;$a<20;$a++) { for($b=1;3*$b<100-3*$a;$b++) { if(($c=(100-5*$a-3*$b))*3 == 100-$a-$b) { echo "鸡公".$a.'只,共花费'.(5*$a).'元<br />'; echo "鸡母".$b.'只,共花费'.(3*$b).'元<br />'; echo "鸡仔".(3*$c).'只,共花费'.$c.'元<br /><br /><br />'; } } } } buyChicken(); #结果共有3种,($a,$b,$c)分别为(20,54,26),(40,33,27),(60,12,28)
练习题三:过桥的问题
假设某人有100,000现金,每经过一次路口需要进行一次交费。交费规则为当他现金大于50,000时每次需要交5%如果现金小于等于50,000时每次交5,000。请写一程序计算此人可以经过多少次这个路口。
function getTime($total) { for($i=0; $total>=5000;$i++) { if($total > 50000) { $total = $total*0.95; } else { $total -= 5000; } $i++; echo $total,'<br />'; } return $i; } getTime(100000); # 结果为46次,这里可以通过传递总钱数获取不同总数下可过桥的次数
今天的三个问题比较简单,所以没有作太多说明,相信大家能够看懂,不懂的可以在评论区和我交流,感谢您的阅读。
注:因本人的技术有限,如果有理解错误的地方,还请各位批评指正,共同交流学习,谢谢大家。我会继续努力的.