题目:
Write a program to check whether a given number is an ugly number. Ugly numbers are positive numbers whose prime factors only include 2, 3, 5. Example 1:
Input: 6 Output: true Explanation: 6 = 2 × 3Example 2:
Input: 8 Output: true Explanation: 8 = 2 × 2 × 2Example 3:
Input: 14 Output: false Explanation: 14 is not ugly since it includes another prime factor 7.Note: 1 is typically treated as an ugly number. Input is within the 32-bit signed integer range: [−231, 231 − 1].
解释: 判断一个数是不是丑数,丑数的定义是只能被2,3,5整除的正整数,1是丑数。 对这个数进行判断没如果能被2,3,5整除,就除以这些数字,如果不能被这些数中的任意一个整除,就返回false。 python代码:
class Solution(object): def isUgly(self, num): """ :type num: int :rtype: bool """ if num<=0: return False while num>1: if num%2==0: num/=2 elif num%3==0: num/=3 elif num%5==0: num/=5 else: return False return Truec++代码:
class Solution { public: bool isUgly(int num) { if(num<=0) return false; while(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; } };总结: 没啥好说的。