题目描述
给一个小整数 �x 和一个 �x 进制的数 �S。将 �S 转为 1010 进制数。对于超过十进制的数码,用 A
,B
,…… 表示。
输入格式
第一行一个整数 �x;
第二行一个字符串 �S。
输出格式
输出仅包含一个整数,表示答案。
输入输出样例
输入 #1
16 7B
输出 #1
123
说明/提示
【数据规模和约定】
保证目标数在十进制下不超过 109109,1≤�≤361≤x≤36。
代码
#include <bits/stdc++.h>
using namespace std;
int a,b[105];
string s;
int c(char d){
if('0'<=d&&d<='9') return d-'0';
return d-'A'+10;
}
int main()
{
cin>>a>>s;
int e=s.size();
for(int i=e-1;i>=0;i--)
b[e-1-i]=c(s[i]);
int ans=0,f=1;
for(int i=0;i<e+1;i++){
ans+=f*b[i];
f*=a;
}
cout<<ans;
return 0;
}