Write a program to check whether a given number is an ugly number.git
Ugly numbers are positive numbers whose prime factors only include 2, 3, 5
.github
Example 1:code
Input: 6 Output: true Explanation: 6 = 2 × 3
Example 2:leetcode
Input: 8 Output: true Explanation: 8 = 2 × 2 × 2
Example 3:it
Input: 14 Output: false Explanation: is not ugly since it includes another prime factor .147
Note:io
1
is typically treated as an ugly number.//用除法和取餘 public static boolean isUgly(int num) { boolean result = false; while(num >= 1) { boolean change = false; if (num % 2 == 0) { num /= 2; change = true; } if (num % 3 == 0) { num /= 3; change = true; } if (num % 5 == 0) { num /= 5; change = true; } if(num ==1){ result = true; break; } if(!change){ break; } } return result; }
//換個方式 public static boolean isUgly2(int num) { if(num==1) { return true; } if(num==0) { return false; } while(num%2==0) { num=num>>1; } while(num%3==0) { num=num/3; } while(num%5==0) { num=num/5; } return num==1; }
git:https://github.com/woshiyexinjie/leetcode-xinim