xkx0102 @ 2021-10-21 22:08:25
#include <stdio.h>
#include <string.h>
int main()
{
int i=0,j=0,w=0,k=1,n,len;char m[100],t[100];char d,u;
scanf("%d",&n);
scanf("%s",m);
if((n>=2 && n<=10) || n==16)
{
while(k<=30)
{
len=strlen(m);
for(i=1;i<=len;i++)
{
t[len-i]=m[i-1];
}
for(i=1;i<=len;i++)
{
if(i!=1)
{
u=m[i-1]-48+t[i-1]-48;
m[i-1]=(w+u)%n+48;
w=(w+u)/n;
}
else
{
u=m[i-1]-48+t[i-1]-48;
m[i-1]=u%n+48;
w=u/n;
}
}
if(w!=0)
{
m[len]=w+48;
len+=1;
}
for(j=1;j<=len/2;j++)
{
if(m[j-1]!=m[len-j])
break;
}
if(j==len/2+1)
break;
k+=1;
}
if(k==31)
printf("Impossible!");
else
printf("STEP=%d",k);
}
}
by yun_hai @ 2021-12-17 11:54:23
16进制没转换好 第二个的输入是这样的 16 AC27