Leikou 231.2의 Power 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;

}

Likou 링크

추천

출처blog.csdn.net/qq_44722674/article/details/111635562