@[zhukexv](/user/1242083) 菜就多练
by chenzixuan49 @ 2024-04-21 13:11:13
```
#include<bits/stdc++.h>
using namespace std;
string m;
int n;
int m_long;
int p[20000000], q[20000000], l;
void zhuan() {
int j = 0;
for (int i = m_long - 1 ; i >= 0 ; i--) {
if (m[i] >= '0' && m[i] <= '9') {
p[j] = m[i] - '0';
} else {
p[j] = m[i] - 'A' + 10;
}
j++;
}
}
bool huiwen(int a[]) {
int i = 0;
int j = m_long - 1;
while (i <= (m_long / 2)) {
if (a[i] != a[j]) return false;
i++;
j--;
}
return true;
}
void turn(int a[]) {
int j = 0;
for (int i = m_long - 1 ; i >= 0 ; i--) {
q[j] = a[i];
j++;
}
}
void add(int a[] , int b[]) {
for (int i = 0 ; i < m_long ; i++) {
a[i] += b[i];
a[i + 1] += a[i]/n;
a[i] %= n;
}
if (a[m_long]) {
m_long++;
}
}
int main() {
cin >> n >> m;
m_long = m.size();
zhuan();
while (!huiwen(p)) {
turn (p);
add(p , q);
l++;
if (l > 30) {
cout << "Impossible!";
return 0;
}
}
cout << "STEP=" << l;
return 0;
}
```
by chenzixuan49 @ 2024-04-21 13:13:35
@[chenzixuan49](/user/1245542)
~~冒昧的问一下,你不知道string吗?~~
by xpg007 @ 2024-05-02 22:18:06