LeetCode 263. Ugly Number

Write a program to check whether a given number is an ugly number.

Ugly numbers are positive numbers whose prime factors only include 2, 3, 5. For example, 6, 8 are ugly while 14 is not ugly since it includes another prime factor 7.

Note that 1 is typically treated as an ugly number.

Credits:
Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.


 
Seen this question in a real interview before?  
Yes
No
 
 
判断一个数是否是丑数,算法不难,但是要注意对0的讨论要放在最前面
代码如下:
 1 class Solution {
 2 public:
 3     bool isUgly(int num) {
 4         if (num == 0)
 5             return false;
 6         while (num % 2 == 0)
 7             num /= 2;
 8         while (num % 3 == 0)
 9             num /= 3;
10         while (num % 5 == 0)
11             num /= 5;
12         return num == 1;
13     }
14 };
原文地址:https://www.cnblogs.com/dapeng-bupt/p/8144760.html