- 回文数
- 2018-09-02 18:19:44 @
#include <iostream>
using namespace std;
#include<string>
#include<cstring>
int a[100],b[100],c[101],len;
bool huiwen(){
for (int i=0;i*2<=len;i++)
if(a[i]!=a[len-1-i])return 0;
return 1;
}
int main(){
int n,ans;
string m;
cin>>n>>m;
len=m.size();
for(int i=0;i<len;i++)
a[i]=m[i]-'0';
memset(c,0,sizeof(c));
while(1)
{
if(huiwen())break;
for(int i=0;i<len;i++)
b[i]=a[len-1-i];
for(int i=0;i<len;i++)
c[i]=a[i]+b[i];
for(int i=0;i<len;i++)
if(c[i]>n)
{c[i]=c[i]-n;
c[i+1]++;
}
//if(c[0]=1)
// len+=len;
// for(int i=0;i<len;i++)
// a[i]=c[i];
ans++;
if(ans>30){
cout<<" impossible";
break;
}
}
if(ans<=30)
cout << "STEP="<<ans;
return 0;
}