1 条题解

  • 0
    @ 2025-11-30 16:24:20

    C++ :

    #include<iostream>
    using namespace std;
    int Char2Int(char target) {
        if(target>='0'&&target<='9') {
            return target-'0';  // 对于字符'0'-'9',直接返回对应的数值
        } else {
            return target-'A'+10
    
    ;  // 对于'A'-'F',返回对应的十进制值10-15
        }
    }
    int ConvertM2T(string str,int m) {
        int number=0;
        for(int i=0;i<str.size();++i) {  // 遍历输入的m进制数字符串
            number*=m;  // 每次循环将之前的数乘以m,保持进制转换
            number+=Char2Int(str[i]);  // 将当前字符转换为相应的数值并加到number中
        }
        return number;  // 最终返回转换后的十进制数
    }
    int main() {
        string str;  // 输入的m进制数
        int m;  // m进制
        cin>>str>>m;  // 读取输入的m进制数和进制m
        int number=ConvertM2T(str,m);  // 将m进制数转换为十进制数
        cout<<number<<endl;  // 输出转换后的十进制数
        return 0;
    }
    
    • 1

    信息

    ID
    576
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者