11966번 - 2의 제곱인가?
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;}
cnt 변수 초기화를 안해서 그런 것 같네요
댓글을 작성하려면 로그인해야 합니다.
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;
}