Skip to content

Latest commit

 

History

History

263-Ugly_Number-丑数

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

263、 丑数

tag: python3 、 数学


题目描述

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

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

示例1

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

示例2

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

示例3

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

说明

  • 1 是丑数。

  • 输入不会超过 32 位有符号整数的范围: [−2^31, 2^31 − 1]


题目链接

263. 丑数


题解

  很简单的题,只要将 num 不停地除 2, 3, 5 直到不能再整除为止,最后剩下来的数为 1 则说明是丑数,否则说明有其他因子则不为丑数。

  class Solution:
      def isUgly(self, num: int) -> bool:
          if num == 0:
              return False
          while num % 2 == 0:
              num /= 2
          while num % 3 == 0:
              num /= 3
          while num % 5 == 0:
              num /= 5
          return num == 1

  最终结果,运行时间40ms,超过43.39%;占用内存13.4MB,超过14.96%。竟然连一半都没有达到,难道有更快速的方法,前去一看发现在前面20ms的解法甚至代码都和我一摸一样,那应该是样例产生过变动或是其他因素产生的影响了,难道是我没有充会员