while循环语句案例1:2的幂 给你一个整数n,请你判断该整数是否是2的幂次方举例: n=1输出:yes n=2 输出:yes n=3输出:no
时间: 2024-10-14 14:06:51 浏览: 16
js 判断一个数字是不是2的n次方幂的实例
当你遇到一个要求判断一个整数n是否为2的幂的问题时,你可以使用一个while循环配合逻辑判断来实现。我们可以尝试不断地将n除以2,如果每次都能整除并且商不为1,那么n就是2的幂;否则,n就不是。
以下是一个简单的C语言示例:
```c
#include <stdio.h>
int main() {
int n, i = 0;
printf("Enter an integer: ");
scanf("%d", &n);
// 如果n小于等于0,这不是2的幂
if (n <= 0) {
printf("no\n");
return 0;
}
while (n > 1) { // 当n大于1时继续循环
if (n % 2 != 0) { // 如果n不能被2整除
printf("no\n"); // n不是2的幂
break; // 结束循环
}
n /= 2; // n除以2并更新值
i++; // 指示我们已经检查了i次
}
if (n == 1 && i > 0) { // 如果n是1(即只剩余1),且之前至少检查了一次
printf("yes\n");
}
return 0;
}
```
在这个例子中,`while`循环不断执行,直到n变为1或变为非偶数。如果n始终能被2整除,则表示它是2的幂,反之则不是。我们用变量`i`记录检查次数,当n变成1且检查过至少一次后,说明它是2的幂。
阅读全文