gpt4 book ai didi

c# - 这段 C# 代码如何得出答案?

转载 作者:行者123 更新时间:2023-11-30 18:59:16 28 4
gpt4 key购买 nike

我已经解决了项目欧拉问题 16,但发现了这种相当新颖的方法,但我无法理解所采用的技术(来自 http://www.mathblog.dk/project-euler-16/):

int result = 0;

BigInteger number = BigInteger.Pow(2, 1000);

while (number > 0) {
result += (int) (number % 10);
number /= 10;
}

我的版本似乎更传统,但我认为上述方法更酷。

var result = BigInteger
.Pow(2, 1000)
.ToString()
.Aggregate(0, (total, next) => total + (int) Char.GetNumericValue(next));

第一种方法的数学原理如何,很酷,但我需要一些解释来帮助我理解,所以如果有人愿意向我解释,我将不胜感激。

注意:如果我在错误的部分发帖,请让我知道更好的提问位置。

最佳答案

value % 10 将返回最后一位数字(除以 10 后的余数)。将整数除以 10 将删除该数字。

将数字想象成一个列表,您只需将列表出队并对值求和即可。

关于c# - 这段 C# 代码如何得出答案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11971905/

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