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 模 i 与 0 相同时,执行以下操作:
- 当 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
广告