如何将拆分后的整数数位重新组合为原整数?
数位重组为原整数的实现逻辑
核心思路
十进制整数的每一位对应10的幂次权重(从高位到低位依次为10ⁿ、10ⁿ⁻¹…10⁰),因此可以通过逐步累加加权值的方式重组原数:
具体步骤
- 初始化结果变量为
0 - 按原数高位到低位的顺序遍历拆分后的数位列表
- 对每个数位执行操作:
结果 = 结果 * 10 + 当前数位(相当于把当前结果左移一位十进制位,再加上新的数位) - 遍历完成后,结果即为重组后的原整数
示例演示
以数位[1, 2, 8]为例:
- 初始结果:
0 - 处理第一个数位1:
0 * 10 + 1 = 1 - 处理第二个数位2:
1 * 10 + 2 = 12 - 处理第三个数位8:
12 * 10 + 8 = 128
最终得到原整数128
代码实现(Python)
digits = [1, 2, 8] result = 0 for d in digits: result = result * 10 + d print(result) # 输出:128
关键注意点
- 数位顺序至关重要:必须保证遍历顺序是原数的高位到低位,如果顺序颠倒(比如
[8,2,1]),得到的结果会是821而非128 - 该逻辑适用于任意长度的正整数数位重组,无需修改核心逻辑
内容的提问来源于stack exchange,提问作者rish_7ramn
相关产品推荐
相关产品推荐

