zoukankan      html  css  js  c++  java
  • 【算法】php计算出丑数

    丑数描述

        把只包含因子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

      

      

  • 相关阅读:
    模板笔记2
    模板笔记
    qt打包可执行文件
    合并单独的视频和音频
    模板1
    mysql 数据表中查找重复记录
    mysql左连接右连接(查询两张表不同的数据)
    mysql--构造数据、导入导出
    mysql安装
    linux下启动tomcat服务
  • 原文地址:https://www.cnblogs.com/songgj/p/8487977.html
Copyright © 2011-2022 走看看