#include<bits/stdc++.h>
using namespace std;
int main(){
char s[105];
int x;
scanf("%s%d",&s,&x);
int ans=0;
int len =strlen(s);
for(int i=0;i<len;i++){
ans = ans*x;
if(s[i]>='0'&&s[i]<='9')ans+=(s[i]-'0');
else ans+=(s[i]-'A')+10;
}
printf("%d\n",ans);
return 0;
}
注意:可能超过10进制如16进制
类似于x<10的情况,再加进去判断:
如果x<10,则不变,
如x>10, 则涉及到字母(s[i]-'A')+10