衔接不算个问题。刚修改了上面的一处笔误,时间复杂度是O(n),n表示第几个这样的数。
重剑无锋,大巧不工
int ori,now,sign,temp; for(ori=1;ori<=4;++ori) { now=ori; sign=0; do { printf("%d",now); temp=(sign*10+now)/2; sign=now%2; now=temp; } while(now!=ori||sign==1); printf("\n"); now=ori; sign=1; do { printf("%d",now); temp=(sign*10+now)/2; sign=now%2; now=temp; } while(now!=ori||sign==0); printf("\n"); }