342. Power of Four

  • Total Accepted: 28742
  • Total Submissions: 81051
  • Difficulty: Easy

Given an integer (signed 32 bits), write a function to check whether it is a power of 4.

Example:
Given num = 16, return true. Given num = 5, return false.

Follow up: Could you solve it without loops/recursion?

Credits:
Special thanks to @yukuairoy for adding this problem and creating all test cases.

Subscribe to see which companies asked this question

求一个数是不是4 的乘方的结果(4 的k次幂)。即4^k = n;判断 k是不是一个整数 .

幂指乘方运算的结果。n^m指将n自乘m次(根据六下课本该式意义为m个n相乘)。把n^m看作乘方的  结果,叫做n的m次幂。
数学中的“幂”,是字面意思的引申,“幂”原指盖东西布巾,数学中“幂”是乘方的结果.
一、循环的除以4 整数
二、对数公式求解
对数公式求解时使用 C语言中的对数函数: log2(n) 或者 log10(n),注意这里只能够用2后者10作为底。
1 bool isPowerOfFour(int num) {
2     return ((int)log10(num)/2 -log10(num)/2 == 0);
3 }
View Code

 

 

posted on 2016-07-26 19:27  人生一世,草木一秋。  阅读(833)  评论(0编辑  收藏  举报