# https://www.nowcoder.com/share/jump/1408176281734265684977#include<stdio.h>#include<math.h>#include<stdlib.h>#include<string.h>int ishui(int x){int Arr[100];int i = 0;while (x != 0){Arr[i] = x % 10;x = x / 10;i++;}int len = i;for (int j = 0; j < len / 2; j++){if (Arr[j] != Arr[len - j - 1]){return 0;}}return 1;}int cnt=0;int jinzhi(char x[],int xx){int i,len=strlen(x);int sum=0;for(i=len-1;i>=0;i--){if(x[i]=='A'||x[i]=='B'||x[i]=='C'||x[i]=='D'||x[i]=='E'||x[i]=='F'){sum=sum+(x[i]-'A'+10)*(int)(pow(xx,len-1-i)+0.5);// printf(&quot;sum=%d %d\n&quot;,sum,len-1-i);}else{sum=sum+(x[i]-'0')*(int)(pow(xx,len-1-i)+0.5);// printf(&quot;sum=%d %d\n&quot;,sum,len-1-i);}}return sum;}int step=1;int leijia(int x){int xxx;int n=x,m=0;while(n!=0){m=n%10+10*m;n=n/10;}xxx=x+m;printf(&quot;traverse=%d\n&quot;,m);printf(&quot;xxx=%d\n&quot;,xxx);if(step>30)return 0;if(ishui(xxx)){return 1;}else{step++;return leijia(xxx);}}int main(){int n,y;char yy[20];scanf(&quot;%d&quot;,&amp;n);scanf(&quot;%s&quot;,yy);y=jinzhi(yy,n);printf(&quot;y=%d\n&quot;,y);if(leijia(y))printf(&quot;STEP=%d\n&quot;,step);elseprintf(&quot;impossible\n&quot;);return 0;}输入:210011输出:y=19traverse=91xxx=110traverse=11xxx=121STEP=2我感觉我的流程没有问题啊,为什么step输出是4啊?