前言
题目:给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。
如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方
一、示例

二、思路和代码
1.思路
代码如下(示例):
排除不是2的倍数,然后一开始赋值变量为1,一直乘2,如果是2的幂,循环后,会相等。若不是2的幂,则大于参数n,返回false
2.代码
代码如下(示例):
bool isPowerOfTwo(int n){
if(1 == n) {
return true;
}
if(n%2 == 1) {
return false;
}
long a = 1;
while(a < n) {
a *= 2;
if(a == n) {
return true;
}
if(a > n) {
return false;
}
}
return false;
}
结果如图所示:

本文介绍了如何通过编程解决判断整数是否为2的幂的问题,步骤包括排除奇数倍数、使用循环验证并返回结果。核心代码展示了通过乘2累加判断的逻辑。
696

被折叠的 条评论
为什么被折叠?



