在没有内存异常的阶乘结果中计算0位数

时间:2014-08-23 10:26:17

标签: php cakephp math logic mathematical-optimization

我想找到因子数 的十进制结果后的0位数而不使用字符串和bulit函数

 For e.g.
 Number                     Factoial result         count of 0 occured after nums
   1!                         = 1                                     => 0
   5!                         = 120                                   => 1
   10!                        = 3628800                               => 2
   15!                        = 1307674368000                         => 3

根据最后一栏,我想找出最后一个数字的总数“0”。 在php中没有内存异常

提前致谢

1 个答案:

答案 0 :(得分:0)

我使用substr为您提供了一项功能。你可以试试这个

function countLastZero($num){
    $count = 0;
    while(strlen($num) > 0){
        $las = substr($num, -1);
        if($las == 0){
            $count++;
            $num = substr($num, 0, strlen($num) - 1);
        }else{
            break;
        }
    }
    return $count;
}

echo countLastZero(1307674368000); //output 3