这样好像可以
[mw_shl_code=c,true]#include <stdio.h>
int main()
{
int i,n,o;S:
scanf("%d",&n);o=n;
if(n<=0){
printf("请输入正整数!\n\n");
goto S;
}for(i=0;o!=1;i++){
o/=2;}
for(o=1;i;i--)
o*=2;
i=(o/2+o>=n);
for(o=0;n!=1;o++)
if(n%2)
printf("n%c1=%d\n",
i?'-':'+',n+= i?-1:1);
else
printf("n/2=%d\n",n/=2);
printf("\n需要%d步\n\n\n",o);
goto S;
}
[/mw_shl_code]
|