Welcome 歡迎光臨! 愛上網路 - 原本退步是向前

Ugly Number LeetCode: 263

寫一個 function 判斷一個給入的數是否為 “Ugly number”。若一個正整數的質因數只包含 2、3 或 5 的話為”Ugly number”,其他則否。但 1 須被判定為 “Ugly number”。

 Ugly Number 指的是除了數字1外,他的因數只有2、3、5這三個數字的正整數稱之為醜數,舉例來說:

  1. 14不是醜數,因為14 = 2 * 7 * 1,除了2以外它還有7這個因數。
  2. 15是醜數,因為15 = 3 * 5 * 1,除了1以外它只有3、5這兩個因數。
  3. 16是醜數,因為16 = 2 * 2 * 2 * 1,除了1以外它只有2這個因數。

 

def isUgly(self, num: int) -> bool:
    if num < 1:
        return False
    while num > 0:
        if num == 1:
            return True
        elif num % 2 == 0:
            num = num // 2
        elif num % 3 == 0:
            num = num // 3
        elif num % 5 == 0:
            num = num // 5
        else:
            return False

一宜檢查到被除數為1 則表示 我們就可以知道該數字是  Ugly Number 

https://medium.com/@urdreamliu/%E5%9C%96%E8%A7%A3-ugly-number-f2a28a495ff3

https://ithelp.ithome.com.tw/articles/10218190?sc=rss.iron

 

 

 

[ Python ] 瀏覽次數 : 23 更新日期 : 2024/07/28