LeetCode 263 [Ugly Number]

原题

写一个程序来检测一个整数是不是丑数。
丑数的定义是,只包含质因子 2, 3, 5的正整数。比如 6, 8 就是丑数,但是 14 不是丑数以为他包含了质因子 7。
注意事项
可以认为 1 是一个特殊的丑数。

样例
给出 num = 8,返回 true。
给出 num = 14,返回 false。

解题思路

  • 由于本题只需要判断num是不是丑数,根据丑数的定义:
  • 如果num对2取模等于0,则num除以2
  • 如果num对3取模等于0,则num除以3
  • 如果num对5取模等于0,则num除以5
  • 如果最后num等于1则是丑数,否则不是

完整代码

class Solution(object):
    def isUgly(self, num):
        """
        :type num: int
        :rtype: bool
        """
        if num < 1:
            return False
        else:
            while num % 2 == 0:
                num /= 2
            while num % 3 == 0:
                num /= 3
            while num % 5 == 0:
                num /= 5
            return num == 1
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容