题解 | #二进制数#
二进制数
https://www.nowcoder.com/practice/103dd589fed14457a673c613d8de3841
#include <stdio.h> int main() { int a,x,count,state; while (scanf("%d", &a) != EOF) { x=1,count=1; if(a%2==0) state=0; else state=1; while(a-x>0) { x*=2; count++; } count--; x=x/2; a=a-x; while(a>0) { printf("1"); count--; x=x/2; a=a-x; while(a<0) { printf("0"); count--; a=a+x; x=x/2; a=a-x; } } printf("1"); count--; if(state==0) { for(int i=0;i<count;i++) printf("0"); } printf("\n"); } }