LeetCode: Power of Four
2016-07-28 00:01
260 查看
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.
判断一个整数是否是4的整数幂.
算法:如果底数是2,一般直接移位判断即可,当然也可以用数值方法.
代码:
bool isPowerOfFour(int num) {
if (num <= 0) return false;
if (num == 1) return true;
if (num & 3) return false;
num >>= 2;
while(num > 3) {
if (num & 3) return false;
num >>= 2;
}
if (num == 1) return true;
return false;
}
Example:
Given num = 16, return true.Given num = 5, return false.
判断一个整数是否是4的整数幂.
算法:如果底数是2,一般直接移位判断即可,当然也可以用数值方法.
代码:
bool isPowerOfFour(int num) {
if (num <= 0) return false;
if (num == 1) return true;
if (num & 3) return false;
num >>= 2;
while(num > 3) {
if (num & 3) return false;
num >>= 2;
}
if (num == 1) return true;
return false;
}
相关文章推荐
- 使用位运算实现网页中的过滤、筛选功能实例
- C#枚举中的位运算权限分配浅谈
- 关于PowerDesigner初体验的使用介绍
- shell 基本计算、逻辑运算、位运算详解
- Java位运算和逻辑运算的区别实例
- 优秀程序员必须知道的20个位运算技巧
- 图文详解C语言位运算基础知识
- JavaScript使用位运算符判断奇数和偶数的方法
- java位运算加密示例
- c语言中用位运算实现加法技巧介绍
- 基础的十进制按位运算总结与在Python中的计算示例
- golang简单位运算示例
- leetcode 179 Largest Number
- leetcode 24 Swap Nodes in Pairs
- leetcode 2 Add Two Numbers 方法1
- leetcode 2 Add Two Numbers 方法2
- win8系统蓝屏提示DRIVER POWER STATE FAILURE的原因及两种解决方法
- usb接口只读原理及应用
- CentOS 5.x 默认启动的服务内容
- 在 PowerPC 下安装 K8S