PHP输出1到100,3的倍数输出fizz,5的倍数输出buzz,3和5的倍数输出abc

原创 阁主  2019-05-11 21:14:10  阅读 6242 次 评论 0 条
摘要:

写一个程序打印1到100,这些数字但是遇到数字为3的倍数的时候,打印'fizz'替代数字,5的倍数用'buzz'代替,即是3的倍数又是5的倍数打印'abc'

while方式循环:

while循环方式1:

个人认为该方法虽然符合人脑思维书写,但是你在写的过程中不会那么顺利。按照该方式书写会造成3和5的倍数还没进行运算就先被前面两个运算给结束了运算(不懂得可以把15带入走遍运算,你会发现还没到第三条语句就被3的倍数结束运算)。

错误写法:

$num = 1;
while ($num <= 100) {
    if ($num % 3 == 0) {
        echo '3的倍数:', $num, '===fizz', '<br />';
    } elseif ($num % 5 == 0) {
        echo '5的倍数:', $num, '===buzz', '<br />';
    } elseif ($num % 3 == 0 && $num % 5 == 0) {
        echo '3和5的倍数:', $num, '===abc', '<br />';
    }
    $num = $num + 1;
}

正确写法:

$num = 1;
while ($num <= 100) {
    if ($num % 3 == 0 && $num % 15 != 0) {
        echo '3的倍数:', $num, '===fizz', '<br />';
    } elseif ($num % 5 == 0 && $num % 15 != 0) {
        echo '5的倍数:', $num, '===buzz', '<br />';
    } elseif ($num % 3 == 0 && $num % 5 == 0) {
        echo '3和5的倍数:', $num, '===abc', '<br />';
    }
    $num = $num + 1;
}

while循环方式2:

想到该方法就是有深思熟虑的学者了,该方法就是先把大的进行运算!

$num = 1;
while ($num <= 100) {

    if ($num % 3 == 0 && $num % 5 == 0 ) {
        echo '3和5的倍数:', $num, '===abc', '<br />';
    } elseif ($num % 3 == 0) {
        echo '3的倍数:', $num, '===fizz', '<br />';
    } elseif ($num % 5 == 0) {
        echo '5的倍数:', $num, '===buzz', '<br />';
    }
    $num = $num + 1;
}

for方式循环:

基本没难度,同理直接上代码:

for ($num=1;$num<=100;$num++){
    if ($num % 3 == 0 && $num % 5 == 0){
        echo '3和5的倍数:', $num, '===abc', '<br />';
    }elseif($num % 3 == 0){
        echo '3的倍数:', $num, '===fizz', '<br />';
    }elseif ($num % 5 == 0){
        echo '5的倍数:', $num, '===buzz', '<br />';
    }
}
本文地址:https://www.mainblog.cn/160.html
版权声明:本文为原创文章,版权归 阁主 所有,欢迎分享本文,转载请保留出处!
免责申明:有些内容源于网络,没能联系到作者。如侵犯到你的权益请告知,我们会尽快删除相关内容。

评论已关闭!