问题标题: 酷町堂:3868 快速进制转换4

0
0
已解决
王欣怡
王欣怡
新手光能
新手光能

题目描述 Description

将一个十六进制数转化为一个二进制数。

输入描述 Input Description

一行,一个十六进制下的整数

输出描述 Output Description

这个十六进制数对应的二进制结果

样例输入 Sample Input

 

FEDCBA

样例输出 Sample Output

 

111111101101110010111010

数据范围及提示 Data Size & Hint

十六进制数转换得到的十进制数结果有可能超过long long。

 

 

???


0
已采纳
杨子逸
杨子逸
新手天翼
新手天翼

递归主函数:(上面没有执行清0,请自己在主函数里修改)

string he2x;
string f(string he2x)
{
    if(he2x.size()==1)
    {
        if(he2x=="0") return "0000";
        if(he2x=="1") return "0001";
        if(he2x=="2") return "0010";
        if(he2x=="3") return "0011";
        if(he2x=="4") return "0100";
        if(he2x=="5") return "0101";
        if(he2x=="6") return "0110";
        if(he2x=="7") return "0111";
        if(he2x=="8") return "1000";
        if(he2x=="9") return "1001";
        if(he2x=="A") return "1010";
        if(he2x=="B") return "1011";
        if(he2x=="C") return "1100";
        if(he2x=="D") return "1101";
        if(he2x=="E") return "1110";
        if(he2x=="F") return "1111";
    }
    string tmp=he2x.substr(he2x.size()-1,1);
    return f(he2x.substr(0,he2x.size()-1))+f(tmp);
}
0
我要回答