Thursday, August 31, 2017

326. Power of Three

https://leetcode.com/problems/power-of-three/description/
Solution 0. A number is power of 3 if  it is a factor of the largest number of power of 3.
    bool isPowerOfThree(int n) {
        if (n<=0) return false;
        int t = pow(3,(int)(log(INT_MAX)/log(3)));
        return (t%n == 0);
    }
Solution 1. Use loop
    bool isPowerOfThree(int n) {
        if(n==0) return false;
        while(n%3 == 0) {
            n /= 3;
        }
        if(n==1) return true;
        return false;
    }

No comments:

Post a Comment