问题标题: 酷町堂:4020

0
0

0
已采纳
张曈
张曈
高级守护
高级守护

这题分两个问题:进制下最大和进制转换

首先是进制下最大,这我觉得可以不用说了吧,就是B个(K-1)组合在一起,比如B和K都是9,那就是888888888
EASY~
进制转换可能会稍微麻烦点,首先你需要把K进制下的B个(K-1)转换成十进制,再转换成J进制,那这里我建议用递归去处理,此处便不多做赘述,但建议使用字符串,若你不明白递归和字符串的内容,这题便不建议完成了

0
吕牧原
吕牧原
高级守护
高级守护

进制下最大和进制转换

0
被禁言 姜思远
姜思远
初级光能
初级光能

for(i=s1.size()-1;i>=0;i--)
    {
        if(s1[i]>='A'&&s1[i]<='Z')
        {
            x=(s1[i]-'A'+10);
        }
        if(s1[i]>='0'&&s1[i]<='9')
        {
            x=(s1[i]-'0');
        }
        s+=x*pow(k,tmp);
        tmp++;
    }
    while(s!=0)
    {
        if(s%j>9)
        {
            s2=char(s%j-10+'A')+s2;
        }
        else
        s2=char(s%j+48)+s2;
        s/=j;
    }
    cout<<s2;

0
我要回答