码迷,mamicode.com
首页 > Web开发 > 详细

php计算出丑数

时间:2018-03-01 14:58:57      阅读:409      评论:0      收藏:0      [点我收藏+]

标签:else   nbsp   pos   func   丑数   turn   ==   function   eric   

丑数描述

    把只包含因子2,3,5的正整数被称作丑数,比如4,10,12都是丑数,而7,23,111则不是丑数。

判断方法

   首先除2,直到不能整除为止,然后除5到不能整除为止,然后除3直到不能整除为止。最终判断剩余的数字是否为1,如果是1则为丑数,否则不是丑数。比如 8除以2等于4,4在除以2等于2 ,包含因子2,所以是丑数。在比如14,14除以2等于7,因为它包含因子7,不是丑数。
   丑数只能被2,3,5整除。也就是说如果一个数能被2整除,我们把它连续除以2;如果能被3整除,就连续除以3;如果能被5整除,就除以5.如果最后我们得到的是1,那么这个数就是丑数,否则不是。
 
  1. 8 / 2 = 4    丑数
  2. 6 / 2 = 3    丑数
  3. 14 / 2 = 7  不是丑数

 

  

function _isUglyNb($nums){
    if(!is_numeric($nums)){
        return ‘it is not a number‘;
    }
    //是否能被2整除
    while($nums%2 == 0){
        $nums = $nums/2;
    }
    //是否能被3整除
    while($nums%3 == 0){
        $nums = $nums/3;
    }
    //是否能被5整除
    while($nums%5 == 0){
        $nums = $nums/5;
    }
    if($nums == 1) {//丑数
       return 1;
    }else{
       return 0;
    }
}

 echo _isUglyNb(8);   // 1
 echo _isUglyNb(6);   // 1
 echo _isUglyNb(14);  // 0

 

  

php计算出丑数

标签:else   nbsp   pos   func   丑数   turn   ==   function   eric   

原文地址:https://www.cnblogs.com/songgj/p/8487977.html

(1)
(2)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!