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
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容