prophetcoding @ 2023-08-12 11:08:53
#include <bits/stdc++.h>
#include <vector>
#include <queue>
#include <stack>
#include <cmath>
using namespace std;
int main()
{
int ans,j;//j进制数
int n[30],a=0;
string shu;
cin>>j>>shu;
int i=0,i1=0;//i指位数,i1指判断是否是回文数
for (i=0;i<shu.size();i++)
{
n[i+1]=shu[i]-48;//将string改为int数组
}
i++;//补全位数
for(int o=i,u=0;o>=1;o--,u++)
{
if (j==10)
break;
a+=n[i]*pow(j,u);//转换进制
}
for (int o=1;o<=30;o++)
{
i=sizeof(a);
for (int u=1,o=i;u<=i;u++,o--)
{
if (n[o]==n[u])
i1++;
}
if (i1==i)
{
cout<<"STEP="<<o<<endl;//判断回文
return 0;
}
i1=0;
for (int o=i,u=1;o>=1;o--,u++)
{
n[o]+=n[u];//回文数相加
}
}
cout<<"Impossible!"<<i<<endl;
return 0;
}