[LeetCode每日一题]263. Ugly Number
2020/3/16小于 1 分钟
题目如下:
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 × 3
Example 2:
Input: 8
Output: true
Explanation: 8 = 2 × 2 × 2
Example 3:
Input: 14
Output: false
Explanation: 14 is not ugly since it includes another prime factor 7.
Note:
1.1 is typically treated as an ugly number.
2.Input is within the 32-bit signed integer range: [−231, 231 − 1].
263. Ugly Number 定义仅由任意个2,3,5相乘得到的正整数为ugly数,例如12=2_2_3是ugly数,45=3_3_5是ugly数,1是特殊的ugly数。输入一个正整数,让我们判断它是不是ugly数。 解决这道题,只需不断用2,3,5整除给定的正整数num到不能整除为止,看最后的结果是不是1即可。 实现代码如下:
class Solution {
public boolean isUgly(int num) {
if (num < 0) {
return false;
}
while (num > 1 && num % 2.0 == 0) {
num /= 2;
}
while (num > 1 && num % 3.0 == 0) {
num /= 3;
}
while (num > 1 && num % 5.0 == 0) {
num /= 5;
}
return num == 1;
}
}