题目描述:
求任意两个不同进制非负整数的转换(2进制~16进制),所给整数在long所能表达的范围之内。
不同进制的表示符号为(0,1,…,9,a,b,…,f)或者(0,1,…,9,A,B,…,F)。输入:
输入只有一行,包含三个整数a,n,b。a表示其后的n 是a进制整数,b表示欲将a进制整数n转换成b进制整数。a,b是十进制整数,2 =< a,b <= 16。
数据可能存在包含前导零的情况。输出:
可能有多组测试数据,对于每组数据,输出包含一行,该行有一个整数为转换后的b进制数。输出时字母符号全部用大写表示,即(0,1,…,9,A,B,…,F)。
样例输入:
15 Aab3 7
样例输出:
210306
#include#include using namespace std;int change(char c){ if(c<='9' && c>='0') return c-'0'; else if(c>='a' && c<='f') return c-'W'; else if(c>='A' && c<='F') return c-'7';}char magic(int x){ if(x>=0 && x<=9) return '0'+x; else return '7'+x;}int main(){ char in[1000],out[1000]; int a,b; while(cin>>a){ cin>>in; cin>>b; long long n=0; for(int i=0;i
明明在python里一行就可以搞定的事情。。