xiaorunrun520 @ 2023-06-22 23:21:24
#include<bits/stdc++.h>
using namespace std;
int n,ans=0,b[1001],l=1;
char a[1001];
bool huiwen(char x[]){
for(int i=0,j=l-1;i<=l/2;i++,j--){
if(x[i] != x[j]) return true;
}
return false;
}
int main(){
cin>>n>>a;
l = strlen(a);
int i =0,j=0;
while(huiwen(a)){
l = strlen(a);
for(i = l-1,j=0;i>=0;i--,j++){
b[j] = (a[i]-'0') + (a[j]-'0');
}
for(int i = 0;i<l;i++){
if(b[i] >= n){
b[i] -= n;
b[i+1] += 1;
if(i==l-1){
l++;
break;
}
}
}
for(int i=0;i<l;i++){
a[i] = b[i] + '0';
}
ans++;
if(ans>30){
cout<<"Impossible!";
return 0;
}
}
cout<<"STEP="<<ans;
return 0;
}
by ghx0052 @ 2023-06-23 08:35:56
string ten_to_n(int n, int m)
{
string s;
while(n)
{
if(n%m >= 10)
s = char('A'+ n%m - 10) + s;
else
s = to_string(n % m) + s; // to_string() int --> string
n/=m;
}
return s;
}
by KouMoSir @ 2023-06-23 12:13:51
这是题目说明不清楚的问题,我认为;
样例二是输入了十六进制 AC27
题目中并没有说明清楚会输入字母,也没有说明会输入大写还是小写。
你需要处理ABCDEF的输入。
by xun_xun @ 2023-07-18 15:34:47
十六进制默认10用A表示,11用B表示...。。