用 Python 编写程序检查某个数字是否为丑数

pythonserver side programmingprogramming更新于 2026/1/8 15:40:17

假设我们有一个数字 n,我们必须检查它的素因数是否只包括 2、3 或 5。

因此,如果输入为 n = 18,则输出将为 True,因为 18 的素因数是 2 和 3。

为了解决这个问题,我们将遵循以下步骤 −

  • if n < 0,则
    • 返回 False
  • factor := 一个包含元素 [2,3,5] 的列表
  • 对于 factor 中的每个 i,执行
    • 当 n mod i 等于 0 时,执行
      • n := n / i
  • 当 n 等于 1 时返回 true,否则返回 false

让我们看看下面的实现以便更好地理解 −

示例

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))

输入

18

输出

True

相关文章


有用资源