n*=1/2;改为 n/=2;
n *= 1/2这里有问题,这样写 n /= 2;
n*=1/2 相当于 n*=0 整数 int(1/2)为0 改为 n=n/2还有第二个if else 不用写 直接else 就行了,还有两个分支都有 step++ 不用这样弄,直接提取到 分支语句外面,
输入10是对的呀,哪个输入会导致不对