博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【算法】php计算出丑数
阅读量:5245 次
发布时间:2019-06-14

本文共 821 字,大约阅读时间需要 2 分钟。

丑数描述

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

 

  

转载于:https://www.cnblogs.com/songgj/p/8487977.html

你可能感兴趣的文章
java equals 小记
查看>>
爬虫-通用代码框架
查看>>
2019春 软件工程实践 助教总结
查看>>
YUV 格式的视频呈现
查看>>
Android弹出框的学习
查看>>
现代程序设计 作业1
查看>>
在android开发中添加外挂字体
查看>>
Zerver是一个C#开发的Nginx+PHP+Mysql+memcached+redis绿色集成开发环境
查看>>
多线程实现资源共享的问题学习与总结
查看>>
Learning-Python【26】:反射及内置方法
查看>>
torch教程[1]用numpy实现三层全连接神经网络
查看>>
java实现哈弗曼树
查看>>
转:Web 测试的创作与调试技术
查看>>
python学习笔记3-列表
查看>>
程序的静态链接,动态链接和装载 (补充)
查看>>
关于本博客说明
查看>>
线程androidAndroid ConditionVariable的用法
查看>>
stap-prep 需要安装那些内核符号
查看>>
2016寒假自学笔记
查看>>
转载:ASP.NET Core 在 JSON 文件中配置依赖注入
查看>>