Leetcode 263 丑数

2020-06-27  本文已影响0人  SunnyQjm

丑数

题目

编写一个程序判断给定的数是否为丑数。

丑数就是只包含质因数 2, 3, 5正整数

说明:

  1. 1 是丑数。
  2. 输入不会超过 32 位有符号整数的范围: [−2^{31}, 2^{31} − 1]

解答

测试验证

class Solution:
    def isUgly(self, num):
        """
        :type num: int
        :rtype bool

        (knowledge)

        思路:
        1. 依次判断能否用2, 3, 5整除,可以则将num处理对应质因子;
        2. 判断最后结果是否为1
        """
        if num == 0:
            return False
        while not num % 5:
            num /= 5
        while not num % 3:
            num /= 3
        while not num % 2:
            num /= 2
        return num == 1


if __name__ == '__main__':
    solution = Solution()
    print(solution.isUgly(6), "= True")
    print(solution.isUgly(8), "= True")
    print(solution.isUgly(14), "= False")
上一篇 下一篇

猜你喜欢

热点阅读