2023年6月2日 星期五

6/3 每日一題(不能單純是2、3、5的倍數)

 An ugly number is a positive integer whose prime factors are limited to 2, 3, and 5.

Given an integer n, return true if n is an ugly number.

 

Example 1:

Input: n = 6
Output: true
Explanation: 6 = 2 × 3

Example 2:

Input: n = 1
Output: true
Explanation: 1 has no prime factors, therefore all of its prime factors are limited to 2, 3, and 5.

Example 3:

Input: n = 14
Output: false
Explanation: 14 is not ugly since it includes the prime factor 7.

 

Constraints:

  • -231 <= n <= 231 - 1


class Solution:
    def isUgly(self, n: int) -> bool:
        if n<1:
            return False
        while n%2==0:
            n //= 2
        while n%3==0:
            n //=3
        while n%5 ==0:
            n//=5
        return n == 1

-----參考解答
class Solution:
    def isUgly(self, n: int) -> bool:
        if n <= 0: return False
        for i in [2,3,5] :
            while n % i==0 :
                n = n//i
        return n==1
-------------------------
class Solution:
    def isUgly(self, n: int) -> bool:
        if n==0:
            return 0
        for i in 2,3,5:
            while n%i==0:
                n//=i
        return n==1
           

0 個意見:

張貼留言

訂閱 張貼留言 [Atom]

<< 首頁