gpt4 book ai didi

c++ - 小数位数之和

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:25:26 37 4
gpt4 key购买 nike

下面是一道编程面试练习题。
处理这个问题的聪明方法是什么?

一个数字 M 以相反的顺序存储在数组中。例如,数字 274 存储在以下数组中:

A[0]= 4 A[1]=7 A[2]=2

编写一个函数,给定表示某个数字的数组 A,返回数字 M * 17 的十进制表示的数字总和。数组大小可以非常大(超过 2,000,000 个元素)。

最佳答案

想象一下,您正在手写将 153 乘以 17。它看起来像这样:

  153
17
---
51
85
17
----
2601

但是您实际上并不需要保存完整的结果;您只需要在进行时添加数字即可。所以在第一步之后你知道最后一位是 1,你进了 5。然后在第二步之后你知道第二位是 0,你进了 9。然后在第三步之后你知道第三位是 6,并且你进位 2。当你用完要乘的数字时,你只需要添加进位的数字。 (你不能携带超过 16 个,所以你只有两种情况需要考虑。)

关于c++ - 小数位数之和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5398307/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com