263. Ugly-Number

difficulty: Easy

section pre{ background-color: #eee; border: 1px solid #ddd; padding:10px; border-radius: 5px; }

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].

Method One

class Solution {
    public boolean isUgly(int num) {
        if( num == 0){
            return false;
        }
        int n = num;
        while( n != 1 ){
            if( n %2 == 0){
                n /=2;
            }else if( n % 3 == 0){
                n  /=3;
            }else if( n % 5 == 0){
                n /=5;
            }else{
                return false;
            }
        }
        return true;
    }
}

Last updated

Was this helpful?