231 Power of Two
给一个数,要求在不用循环不用递归的前提下判断这个是时候是2的某次幂。
根据一个数学公式:
LOG a ( b ) = LOG c ( b ) / LOG c ( a )
假如n为2的幂,则log2(n
)应为整数,套用上公式,利用log10()函数,写出判断函数:
class Solution {
public:
bool isPowerOfTwo(int n) {
return !fmod(log10(n)/log10(2), 1);
}
};
326 Power of Three
题意同上题,不过是判断是否为3的幂,同理,使用相同套路。
代码如下:
class Solution {
public:
bool isPowerOfThree(int n) {
return !fmod(log10(n) / log10(3), 1);
}
};