B3619 10 进制转 x 进制 - 洛谷
B3620 x 进制转 10 进制 - 洛谷
代码区:
#include<algorithm>
#include<iostream>
#include<vector>
using namespace std;
int main(){
int n,x;
cin >> n >> x;
vector<char> arry;
while(n){
if(n%x<10){
arry.push_back(static_cast<char>(n%x+'0'));
}
else{
arry.push_back(static_cast<char>(n%x+'A'-10));//超过十进制用A,B...
}
n/=x;
}
if(arry.empty()){
cout << 0;
}
for(int i=arry.size()-1;i>=0;i--){
cout << arry[i] ;
}
return 0;
}
#include<algorithm>
#include<iostream>
#include<cmath>
#include<vector>
#include<string>
using namespace std;
int main(){
int x,sum=0;
vector<char> arr;
string s;
cin >> x;
cin >> s;
for(int i=0;i<s.length();i++){
arr.push_back(s[i]);
}
for(int i=arr.size()-1;i>=0;i--){
if(arr[i]>'9'){
sum+=static_cast<int>((arr[i]+10-'A')*pow(x,arr.size()-i-1));
}
else{
sum+=static_cast<int>((arr[i]-'0')*pow(x,arr.size()-i-1));
}
}
cout << sum;
return 0;
}
欢迎各位读者提出意见。
(菜菜洛谷奋斗小日记)