LintCode 丑数
写一个程序来检测一个整数是不是丑数
。
丑数的定义是,只包含质因子 2, 3, 5
的正整数。比如 6, 8 就是丑数,但是 14 不是丑数以为他包含了质因子 7。
样例
给出 num = 8
,返回 true
。
给出 num = 14
,返回 false
。
分析:如果一个数能连续被2整除,或连续被3整除,或连续被5整除,最后的数为1 即为丑数
class Solution { public: /** * @param num an integer * @return true if num is an ugly number or false */ bool isUgly(int num) { // Write your code here if(num<=0) return false; else { while(num%2==0) num/=2; while(num%3==0) num/=3; while(num%5==0) num/=5; return (num==1)?true:false; } } };