原理:把K进制数按照位存放,从头遍历,每次乘K
//k进制转化成10进制的代码 #include<bits/stdc++.h> using namespace std; int to_Int(char a) //字母转化成数字的函数 { if(a>='0'&&a<='9') return (a-'0'); else return (a-'A'+10);//字母转化成十进制要加10 } void f(string s,int k) //进行进制转换的函数 { long long res =0; for(int i=0;i<s.size();++i) { res*=k; res+= to_Int(s[i]); } printf("%lld\n",res); } int main() { string s;int k; while(cin>>s) { cin>>k; f(s,k); } return 0; }