Fork me on GitHub

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次,这里可以通过传递总钱数获取不同总数下可过桥的次数

 

今天的三个问题比较简单,所以没有作太多说明,相信大家能够看懂,不懂的可以在评论区和我交流,感谢您的阅读。

注:因本人的技术有限,如果有理解错误的地方,还请各位批评指正,共同交流学习,谢谢大家。我会继续努力的.

 

posted @ 2016-11-24 22:17  lovecucu  阅读(394)  评论(0编辑  收藏  举报