首页 > 解决方案 > 给定一个数 N,返回能被 3 整除的最大数 <= N

问题描述

如果数字是 3 的整除数,则返回是,如果不是,则始终减去 1,直到该数字能够除以 3,例如 5/3 不能被 3 整除,所以我想说的是我应该从 5 中减去直到它是 3,在这种情况下,3 是 3 的整除数。

这是我尝试过的代码,但它不能正常工作

$num = 5;
if($num%3==0){
    echo 'yes';
}else{
    echo 'No';
    $num= $num-1;
}

echo $num;

标签: php

解决方案


你是这个意思吗?

$num = 5;

//If number is divisible on 3.
if( $num %3 == 0 ){
    echo 'yes';

//If number is not divisible on 3.    
}else{
    echo 'No';
    //Make the number divisible of 3.
    $num += (3 - ($num% 3)) % 3;
}

echo $num;

推荐阅读