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