题意:判断一个数是不是4的幂数,和Power of two类似。
先判断num是否大于0,再判断num是否能开根号,最后判断num开根号后的数是否是2^15的约数。
提示:4的幂数开根号就是2的幂数。
注意:判断一个双精度数a是否是0,请用fabs(a)<一个极小的数,如本题中用的是1e-9。
1 class Solution { 2 public: 3 bool isPowerOfFour(int num) { 4 return (num > 0 ) && (fabs((int)sqrt(num) -sqrt(num)) <1e-9 ) && ((1<<15) % ((int)sqrt(num)) == 0); 5 } 6 };
时间: 2024-11-07 17:59:01