Python 中一个检查数字是否为丑数的程序


假设我们有一个数字 n,我们需要检查其质因数是否仅包含 2、3 或 5,还是不包含。

因此,如果输入像 n = 18,那么输出将为 True,因为 18 的质因数为 2 和 3。

为解决这个问题,我们将按以下步骤进行 -

  • 如果 n < 0,则
    • 返回 False
  • 因数:元素为 [2,3,5] 的列表
  • 对于因数中的每个 i,执行以下操作:
    • 当 n 模 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

更新日期:2020 年 10 月 5 日

781 次观看

开启你的 职业生涯

完成课程即可获得认证

开始学习
广告