Source Code ¶
#include <stdio.h>
int bincount(int X);
int main()
{
    int N,n,k=0;
    while(1){
        scanf("%d",&N);
        if(N==0) break;
        k=bincount(N);
        for(n=N+1;k!=bincount(n);n++){}
        printf("%d\n",n);
    }
    return 0;
}
int bincount(int X)
{
    int nf,kf=0;
    for(nf=X;nf>0;nf=nf>>1){
        if(nf%2==1) kf++;
    }
    return kf;
}
Trial and error ¶
- 분명 처음에는 아 뭐 이런거 쯤이야 어렵지 않겠쿤! 하고 문제에 들이댔습니다. .. 그러나 나는 10진수로 보이지만 컴터는 2진수로 알고있겠지!! 라고 생각하고 계산하려해도 당최 쉽지가 않더군요 -- 한참 고민하다 진경이가 힌트를 준 덕분에 해결했습니다. 한번만에 accept! 코드길이는 198B까지 줄였으나, 더 줄일 생각은 아직 별로 들질 않네요-ㅎㅎㅎ
 













