5 lines C++ solution


  • 2
    X

    Since we're given a fixed amount of allowed prime factors, we can simply factor them out and check if the remainder is equal to 1 - if it's greater than 1, than there were other prime factors and the number is not ugly

    bool isUgly(int num) {
        if(num <= 0) return false;
        while(num % 3 == 0) num /= 3;
        while(num % 2 == 0) num /= 2;
        while(num % 5 == 0) num /= 5;
        return num == 1;        
    }

Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.