力扣231.2的幂 C语言

题目描述

给定一个整数,编写一个函数来判断它是否是 2 的幂次方。

示例 1:

输入: 1
输出: true
解释: 20 = 1

示例 2:

输入: 16
输出: true
解释: 24 = 16

示例 3:

输入: 218
输出: false

解题思路

我的思路是统计输入数字二进制形式下1的个数,若换算成的二进制串只有1个1,则为2的幂,否则不是

代码

bool isPowerOfTwo(int n){
    
    
    int count=0;
    while(n){
    
    
        count+= n%2;
        n/=2;
    }return count==1?true:false;

}

力扣链接

猜你喜欢

转载自blog.csdn.net/qq_44722674/article/details/111635562