【LeetCode 簡單題】69-醜數
阿新 • • 發佈:2018-11-07
宣告:
今天是第69道題。編寫一個程式判斷給定的數是否為醜數。醜數就是隻包含質因數 2, 3, 5
的正整數。以下所有程式碼經過樓主驗證都能在LeetCode上執行成功,程式碼也是借鑑別人的,在文末會附上參考的部落格連結,如果侵犯了博主的相關權益,請聯絡我刪除
(手動比心ღ( ´・ᴗ・` ))
正文
題目:編寫一個程式判斷給定的數是否為醜數。醜數就是隻包含質因數 2, 3, 5
的正整數。
示例 1:
輸入: 6 輸出: true 解釋: 6 = 2 × 3示例 2:
輸入: 8 輸出: true 解釋:8 = 2 × 2 × 2示例 3:
輸入: 14 輸出: false 解釋: 14不是醜數,因為它包含了另外一個質因數 7
說明:
1
是醜數。- 輸入不會超過 32 位有符號整數的範圍: [−231, 231 − 1]。
解法1。常規解法,遍歷輸入的數字num,看看它對於2、3、5這3個因子是否能整除,不能就返回False,如果能最後整除完肯定是1,程式碼如下。
執行用時: 36 ms, 在Ugly Number的Python提交中擊敗了44.74% 的使用者
class Solution(object): def isUgly(self, num): """ :type num: int :rtype: bool """ if num == 0: return False while num != 1: if num%2 == 0: num /= 2 elif num%3 == 0: num /=3 elif num%5 == 0: num /=5 else: return False return True
結尾
解法1:原創