zoukankan      html  css  js  c++  java
  • 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次,这里可以通过传递总钱数获取不同总数下可过桥的次数

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

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

  • 相关阅读:
    Linux服务器安装JDK运行环境教程
    Oracle数据库通过DBLINK实现远程访问
    Java中的Number和Math类简单介绍
    使用Netty3或Netty4发布Http协议服务
    同步(Synchronous)和异步(Asynchronous)的概念
    通过注解实现Spring 声明式事务管理
    Spring事务管理入门与进阶
    vmware虚拟机安装CentOS教程
    记录自己的一次pjax性能优化
    让你的网页"抖起来"?!?
  • 原文地址:https://www.cnblogs.com/lovecucu/p/6099753.html
Copyright © 2011-2022 走看看