丑数

作者: 422ccfa02512 | 来源:发表于2020-12-24 23:50 被阅读0次

    题目描述

    难度级别:简单

    编写一个程序判断给定的数是否为丑数。

    丑数就是只包含质因数 2, 3, 5 的正整数。

    示例 1:

    输入: 6
    输出: true
    解释: 6 = 2 × 3

    示例 2:

    输入: 8
    输出: true
    解释: 8 = 2 × 2 × 2

    示例 3:

    输入: 14
    输出: false
    解释: 14 不是丑数,因为它包含了另外一个质因数 7。

    说明:

    1 是丑数。
    输入不会超过 32 位有符号整数的范围: [−231, 231 − 1]。

    解题思路

    通过对当前数进行对2,3,5取模的判断,若与其中一个的模为0,则除以这个数,若3个数的模都不为0,则不是丑数。

    const isUgly = function(num) {
        if (num < 1) return false
    
        while(num !== 1) {
            if (num % 2 === 0) num /= 2
            else if (num % 3 === 0) num /= 3
            else if (num % 5 === 0) num /= 5
            else return false
        }
        
        return true
    };
    

    题目来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/ugly-number

    相关文章

      网友评论

          本文标题:丑数

          本文链接:https://www.haomeiwen.com/subject/tjnvnktx.html