leetcode:丑数

题目

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

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

示例 1:

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

输入: 8
输出: true
解释: 8 = 2 × 2 × 2
示例 3:

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

解法

  • 方法1
func isUgly(num int) bool {
    if num == 0 {
        return false
    }

    if num == 1 {
        return true
    }

    primeMap := []int{2, 3, 5}
    for _, primeValue := range primeMap {
        for {
            if num%primeValue == 0 {
                num = num / primeValue
            } else {
                break
            }
        }

        if num == 1 {
            return true
        }
    }

    return false
}
  • 方法2
func isUgly1(num int) bool {
    for 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
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 题目: 编写一段程序来查找第 n 个超级丑数。超级丑数是指其所有质因数都是长度为 k 的质数列表 primes 中...
    小橙子哥哥阅读 4,021评论 0 1
  • 263 Ugly Number 丑数 Description:Write a program to check w...
    air_melt阅读 858评论 0 0
  • LeetCode 263. Ugly Number Description Write a program to ...
    ruicore阅读 858评论 0 0
  • 题目链接难度: 简单 类型:数学 编写一个程序判断给定的数是否为丑数。 丑数就是只包含质因数 2...
    wzNote阅读 12,273评论 0 0
  • 题目 难度:★☆☆☆☆类型:数学 编写一个程序判断给定的数是否为丑数。 丑数就是只包含质因数 2, 3, 5 的正...
    玖月晴阅读 5,095评论 0 0