我郁闷了……辛苦写完的东西一点击发送就没了…… 重新写下,简要版: int test(int i){ int Res=0; while( i != 1 ) { if(i&1) { i = (i+(i<<1)+1)>>1; Res += 2;} else { i = i>>1; ++Res;} } return Res; } 学到了两点: 1. 递归可以用while循环来实现 2. “>>”的运算级居然比“+”还要低。