• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

【算法】php计算出丑数

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

丑数描述

    把只包含因子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  不是丑数

 下面是php代码判断丑数

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

 

  

 

  


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP导出身份证号科学计数法发布时间:2022-07-10
下一篇:
PHP7内核学习--源码阅读工具Source Insight发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap