向量解法

数制转换

http://www.nowcoder.com/questionTerminal/8ef02ef8571b417d8c311a87861f7a03

#include<iostream>
#include<cstdio>
#include<string>
#include<cmath>
#include<vector>

using namespace std;

int trans(char x){
	if(x>='0'&&x<='9')      return x-'0';
	else if(x>='a'&&x<='f') return x-'a'+10;
	else                    return x-'A'+10;
    return 0;
}

int main(){
    string n;
    int a,b;
    while(cin>>a>>n>>b){
        long long tmp=0;
        vector<int> myvector;
        for(int i=0;i<n.length();i++){
        	tmp+=trans(n[i])*pow(a,n.length()-i-1);
		}
		while(tmp){
			myvector.push_back(tmp%b);
			tmp/=b;
		}
		for(int i=myvector.size()-1;i>=0;i--){
			if(myvector[i]>=0&&myvector[i]<=9) cout<<myvector[i];
            else cout<<(char)(myvector[i]-10+'A');
	}
	cout<<endl;
    }
    return 0;
}

全部评论

相关推荐

MScoding:你这个实习有一个是当辅导老师,这个和找技术岗没有关系吧?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务