zoukankan      html  css  js  c++  java
  • LeetCode--263--丑数

    问题描述:

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

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

    示例 1:

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

    示例 2:

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

    示例 3:

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

    说明:

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

    思路:用num对三个质数做除法运算,到最后能整除即为丑数。

    方法1:

     1 class Solution(object):
     2     def isUgly(self, num):
     3         """
     4         :type num: int
     5         :rtype: bool
     6         """
     7         prime = [2,3,5]
     8         if num == 0 :
     9             return False
    10         temp = num
    11         flag = True
    12         while num!= 1:#num对三个质数进行求余数运算
    13             for i in prime:
    14                 if num % i == 0:
    15                     num /= i 
    16                     flag = True
    17             if not flag:#三个质数都不能被整除
    18                 break
    19             flag = False
    20         if num == 1:
    21             return True
    22         return False

    简洁版:

     1 class Solution(object):
     2     def isUgly(self, num):
     3         """
     4         :type num: int
     5         :rtype: bool
     6         """
     7         if num <= 0:
     8             return False
     9         for i in [2,3,5]:
    10             while num % i == 0:
    11                 num //= i
    12         return True if num == 1 else False

    2018-09-22 18:15:12

  • 相关阅读:
    shutil、zipfile,tarfile
    time、datetime、calendar
    stat
    os与sys模块
    数据同步解决方案
    Oracle数据同步交换
    SQL Server数据同步交换
    MySQL数据同步交换
    Informix网页数据维护客户端工具
    Kingbase数据库web统一管理平台
  • 原文地址:https://www.cnblogs.com/NPC-assange/p/9690775.html
Copyright © 2011-2022 走看看