题目描述:v若一个数(首位不为零)从左向右读与从右向左读都是一样,我们就将其称之为回文数。
例如:给定一个 10进制数 56,将56加65(即把56从右向左读),得到121是一个回文数。
又如,对于10进制数87:
STEPl: 87+78=165 STEP2:165+561= 726
STEP3:726+627=1353 STEP4:1353+3531=4884
在这里的一步是指进行了一次N进制的加法,上例最少用了4步得到回文数4884。
v写一个程序,给定一个N(2<N≤10或N=16)进制数M.求最少经过几步可以得到回文数。如果在30步以内(包含30步)不可能得到回文数,则输出“Impossible”
输入
9 87 代表9进制的87
输出
6 共经过了六次
样例
输入
7 456
输出
4
#include<iostream>
#include<cstring>
#include<string>
using namespace std;
int n, a[101], b[101], ans, i;
void initial(int a[])
{
string s;
cin >> n >> s;
a[0] = s.length();
for (int i = 1; i