netwar   7년 전

2의 제곱근이면 비트로 했을때 1의 갯수가 1개인걸로 생각해서 했는데 틀렸다고 뜨네요ㅠ

#include<stdio.h>
#include<assert.h>
int main(){
    int n;
    int cnt;
    scanf("%d",&n);
    assert(n>0);
    while(n!=0){
        cnt+=n&1;
        n=n>>1;
    }
    cnt==1? printf("1\n"):printf("0\n");
    return 0;
}

ntopia   7년 전

cnt 변수 초기화를 안해서 그런 것 같네요

댓글을 작성하려면 로그인해야 합니다.