Skip to content
Open
Open
丑数#198
@louzhedong

Description

习题

出处 LeetCode 算法第263题

丑数就是只包含质因数 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,最后能得到1的即为丑数

解答

/**
 * @param {number} num
 * @return {boolean}
 */
var isUgly = function(num) {
  if (num < 1) return false;
  while(num % 5 === 0) {
      num /= 5;
  }
  while(num % 3 === 0) {
      num /= 3;
  }
  while(num % 2 === 0) {
      num /= 2;
  }
  return num === 1;
};

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions