LintCde编程实践之丑数

原题目:写一个程序来检测一个整数是不是丑数。丑数的定义是,只包含质因子 2, 3, 5 的正整数。比如 6, 8 就是丑数,但是 14 不是丑数以为他包含了质因子 7。1是特殊的丑数,0不是丑数。

样例:给出 num = 8,返回 true。给出 num = 14,返回 false

个人思路:

1采用while (1)的方式不断循环。

2判断是否为0或1。

3判断是否能被2或者3或者5整除,返回除以质数后的结果,继续循环。

代码:

class Solution:
    """
    @param num: An integer
    @return: true if num is an ugly number or false
    """
    def isUgly(self, num):
        # write your code here
        while(1):
            if num == 1:
                return True
            elif num == 0:
                return False
            elif num % 2 == 0:
                num = num /2
                continue
            elif num %3 == 0:
                num = num / 3
                continue
            elif num % 5 == 0:
                num = num /5
                continue
            else:
                return False

猜你喜欢

转载自blog.csdn.net/qq_34130509/article/details/82794931