含带缩进不带注释代码
算法说明
1. 输入处理:
* 读取进制数B和两个B进制字符串
* 将字符串反转以便从最低位开始计算
2. 字符转换:
* to_val()函数处理数字字符和字母字符到数值的转换
* to_char()函数实现数值到字符的逆向转换
3. 加法运算:
* 使用数组存储各位数值
* 逐位相加并处理进位
* 每位结果不超过B-1,进位保存到下一位
4. 结果处理:
* 处理最高位的进位情况
* 去除结果中的前导零
* 将结果反转回正常顺序输出
示例解析
以样例输入为例:
处理过程:
1. 反转输入:"321" → "123","123" → "321"
2. 逐位相加:
* 个位:1+3=4 → 4/4=1进位,4%4=0
* 十位:2+2+1(进位)=5 → 5/4=1进位,5%4=1
* 百位:3+1+1(进位)=5 → 5/4=1进位,5%4=1
* 千位:0+0+1(进位)=1
3. 结果:"1110"(4进制)
该实现能正确处理2-36进制的大数加法,时间复杂度为O(n),适用于2000位以内的数字运算。
带缩进不带注释代码