#include<iostream>
#include<string>
using namespace std;
int arr[1010],temp[1010];
int n;
void shuru()
{
string s;
cin>>s;
arr[0]=s.size();
for(int i=0;i<arr[0];i++)
{
if(s[i]>='0'&&s[i]<='9')
arr[arr[0]-i]=s[i]-'0';
else
arr[arr[0]-i]=s[i]-'A'+10;
}
}
bool pd(int a[])
{
for(int i=1;i<=a[0];i++)
{
if(a[i]!=a[a[0]-i+1]) return false;
}
return true;
}
void jia(int a[])
{
int i;
for(i=1;i<=a[0];i++) temp[i]=a[a[0]-i+1];
for(i=1;i<=a[0];i++)
{
a[i]+=temp[i];
if(a[i]>=n)
{
a[i+1]+=a[i]/n;
a[i]%=n;
}
}
if(a[a[0]+1]!=0) a[0]++;
}
int main()
{
int num=0;
cin>>n;
shuru();
while(num<30)
{
if(pd(arr))
{
cout<<num;
return 0;
}
else
{
jia(arr);
num++;
}
}
cout<<"Impossible"<<endl;
return 0;
}
(自用)(C++)1309:回文数
最新推荐文章于 2024-07-25 11:27:31 发布