思路,数学思维题,由公式得log(2^n) == n*log(2),范围在2的32次方之内,所以做一个循环就能得到答案。
class Solution {
public:
bool isPowerOfTwo(int n) {
for(int i = 0; i < 32; i++){
// double x = log(3);
if(i * log((double)2) == log((double)n)){
return true;
}
if(i * log(2) > log(n)){
return false;
}
}
return false;
}
};