您的位置:首页 > 其它

leetcode_342 Power of Four

2016-05-08 19:32 211 查看
题目分析:

给定一个32位有符号整型数,判断其是否是4的幂次。

解题思路:

首先,判断整型数是否小于等于0,如果小于等于0,则一定不是4的幂次;

然后,对整型数与4取余,如果余数为0,则将整型数除以4,继续判断,直到整型数不大于1位置。

实现程序

// 版本1实现,直接利用取余,然后除4计算
bool isPowerofFour(int num)
{
if (num <= 0)
return false;
while (num > 1)
{
if (num % 4 == 0)
num = num / 4;
else
return false;
}
return true;
}
// 版本2实现,直接利用取余,然后右移两位计算
bool isPowerofFour1(int num)
{
if (num <= 0)
return false;
while (num > 1)
{
if (num % 4 == 0)
num = num >> 2;
else
return false;
}
return true;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息