题目地址:
https://leetcode.com/problems/ugly-number/
给定一个数字 n n n,问其的素因子是否只有 2 , 3 , 5 2,3,5 2,3,5。
代码如下:
class Solution {
public:
bool isUgly(int n) {
if (n <= 0) return false;
while (n % 3 == 0) n /= 3;
while (n % 5 == 0) n /= 5;
return n == (n & -n);
}
};
时间复杂度 O ( log n ) O(\log n) O(logn),空间 O ( 1 ) O(1) O(1)。