Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình kiểm tra số xấu (ugly number) trong Python


Cho số n, kiểm tra xem các thừa số nguyên tố của nó chỉ bao gồm 2, 3, 5 hay không.

Ví dụ, n = 18, đầu ra True, vì 18 = 2 * 3 * 3.

Các bước giải quyết:

  • Nếu n < 0, trả về False.
  • factor = [2, 3, 5].
  • Duyệt từng i trong factor:
    • Trong khi n % i == 0, chia n //= i.
  • Trả về n == 1.

Ví dụ minh họa

class Solution:
    def solve(self, n):
        if n < 0:
            return False
        factor = [2, 3, 5]
        for i in factor:
            while n % i == 0:
                n //= i
        return n == 1

ob = Solution()
print(ob.solve(18))

Đầu vào

18

Đầu ra

True