如何将几个数字合二为一,例如 1,7,3 = 173?

-1 c c++ math for-loop

几个小时以来,我一直在思考如何做到这一点。

例如,让我们给出一个不确定长度的数组 Arr[] = {1,2,3,4} 。

(不确定,因为它可以有任何其他数量的元素)

显而易见,在数学上执行此操作的最佳方法可能是将第一个元素 * 1000,+ 第二个元素 * 100,+ 第三个元素 * 10,+ 第四个元素相乘。

所以这样的结果将是:1000 + 200 + 30 + 4 = 1234。

理论非常简单,但是如何在“for”循环中实现这一点,事实上它可以有任何其他数量的元素,例如,假设它可以有 7 个元素,而操作现在需要“第七个”元素 * 100000"?我一直在考虑这个问题,但我想不出一种方法来将它写在“for”上,从而在同一个循环中实现这一点。你们对我怎么能这样做有什么建议吗?

谢谢!

Ded*_*eak 5

假设你所有的整数都是以 10 为底的一位数:

int result = 0;
for (int i = 0; i < len; ++i) {
    result = result*10 + arr[i];
}
Run Code Online (Sandbox Code Playgroud)