【leetcode-Python】-数学-263. Ugly Number

题目链接

https://leetcode.com/problems/ugly-number/

题目描述

给定整数n,判断n是否为丑数。如果是,则返回true,否则返回false。丑数指质因数只包含2、3、5的数或质因数只包含2、3的数。

-2^31<=n<=2^31-1

示例

输入:n=14

输出:False

14不是丑数,因为它包含了另一个质因数7。

解题思路

分情况讨论。

首先n如果不是正整数,则一定不是丑数,即n<=0的情况直接返回False。如果n是正整数,我们就循环对n进行除数为2、3、5的整除操作,直到n不能被2、3、5整除。如果n最后为1,那么说明输入的数为丑数,否则不是丑数。

Python实现

class Solution:
#     " / "  表示浮点数除法,返回浮点结果;
# " // " 表示整数除法,返回不大于结果的一个最大的整数
    def isUgly(self, n: int) -> bool:
        if n<=0:
            return False
        else:
            while(n%2==0):
                n = n / 2
            while(n%3==0):
                n = n / 3
            while(n%5==0):
                n = n / 5
        return n == 1
        

拓展题目

264. Ugly Number II

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值