int get(string s, int b) // 将b进制的数转化成十进制 { int res = 0; // 秦九韶算法 for (auto c: s) res = res * b + c - '0'; return res; }
#include <iostream> #include <cstring> #include <algorithm> using namespace std; long long get(string s,int b) { long long res = 0; for(int i=0;i<s.size();i++) { if(s[i]>='0'&&s[i]<='9') { res = res*b + s[i]-'0'; } else { int x=(s[i]-'A'); res = res*b +(x+10); } } return res; } int main() { string str; cin>>str; long long ans = get(str,16); cout<<ans<<endl; return 0; }
#include <iostream> #include <cstring> #include <algorithm> using namespace std; long long get(string s,int b) { long long res = 0; for(int i=0;i<s.size();i++) { if(s[i]>='0'&&s[i]<='9') { res = res*b + s[i]-'0'; } else { int x=(s[i]-'A'); res = res*b +(x+10); } } return res; } int main() { string str; cin>>str; long long ans = get(str,16); cout<<ans<<endl; return 0; }