zasxcvbnmdfghjm @ 2024-05-13 16:50:00
emmmm
本人的代码:
#include<bits/stdc++.h>
using namespace std;
int flag=1,flag1=0;
int main(){
int n,m,p;
cin>>n>>m;
char a[105];
itoa(m,a,n);
int k=strlen(a);
for(int i=1;i<=k;i++){
p+=pow(n,k-i)*(a[i-1]-'0');
}
int cnt=0;
char b[105];
while(1){
cnt++;
flag=1;
itoa(p,b,n);
int m=strlen(b);
for(int i=1;i<=m;i++){
p+=pow(n,i-1)*(b[i-1]-'0');
}
itoa(p,b,n);
m=strlen(b);
for(int j=0;j<=m;j++){
if(b[j]==b[m-j-1]){
flag=flag*1;
}
else if(m%2==1){
flag=flag*0;
break;
}
else{
flag=flag*0;
break;
}
}
if(flag==1){
break;
}
if(cnt>30){
flag1=1;
}
}
if(flag1==1){
cout<<"Impossible";
}
else{
cout<<"STEP="<<cnt;
}
}
我写这道题就是专门想试一下这个小函数.....
但,itoa不在标准库里......
by Terrible @ 2024-05-13 16:55:02
itoa 不是标准函数就别用了,洛谷环境里反正不提供这样一个函数,或许可以在网上搜罗一些实现方式。