首页 > 试题广场 >

2的幂

[编程题]2的幂
  • 热度指数:1860 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个非负整数 n ,请问是否存在一个 x 满足 ,如果有,则返回 true ,否则返回 false

数据范围:
示例1

输入

4

输出

true

说明

2^2 = 4\   
示例2

输入

6

输出

false
头像 姐姐的遮阳伞
发表于 2022-04-06 17:28:35
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @return 展开全文
头像 君无颜
发表于 2022-03-18 11:33:08
方法一:判断模 核心思路:判断 n%2 是不是偶数即可 python class Solution: def poweroftwo(self , n: int) -> bool: while n>1 and n%2 == 0: n /= 2 展开全文
头像 小菲柱
发表于 2022-07-04 10:09:05
巧妙地运用了位运算和幂的特性 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @return bool布 展开全文
头像 牛客82035003号
发表于 2022-04-10 19:55:29
第一种,位运算。奇数和1相与结果为1,偶数和1相与结果为0.  奇数肯定不是2的幂,偶数就除2继续判断,一直到除2结果为1为止 #include<stdbool.h> bool poweroftwo(int n ) {   展开全文
头像 最喜欢秋天的海螺很迟缓
发表于 2023-08-17 17:40:36
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @return 展开全文
头像 随波逐牛
发表于 2022-07-03 20:46:50
分享一个很简单易懂的思路 既然是2的幂次,那么思考从1到1e9到底有多少个2的幂次 相信c语言int范围类型里给我们答案了,1e9就是比int范围小一点 所以就是2^32-1就是2的31次方 那么直接从1开始不断乘31次即可~这里用位运算会比乘快很多哦!小tips 不信 展开全文
头像 WsjjsZ
发表于 2023-04-03 20:12:07
#include <bitset> #include <cmath> class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @par 展开全文
头像 牛客767752055号
发表于 2023-09-02 10:20:40
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @return bool布尔型 */ 展开全文
头像 牛客99414580号
发表于 2022-06-21 20:10:37
/**  * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可  *  *   * @param n int整型   * @return bool 展开全文
头像 牛客365386110号
发表于 2022-05-19 10:34:08
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param n int整型 # @return bool布尔型 # class Solution: def poweroftwo(self , n: int) -> bool: 展开全文