gpt4 book ai didi

c# - array.Take(13).Skip(x) 减去 take

转载 作者:太空狗 更新时间:2023-10-29 19:52:20 25 4
gpt4 key购买 nike

这是欧拉计划的问题 8。

我试图通过数字数组foreach,每次跳过最后一个数字并接下来的13个相邻数字数组。

我的代码:

for(int x = 0; x < 987; x++)
{
foreach(int number in numbers.Take(13).Skip(x))
{
hold = hold * number;
adjacent[index] = number;
index++;
}

if (hold > product)
{
product = hold;
}

Array.Clear(adjacent, 0, adjacent.Length);
index = 0;
hold = 1;
}

我遇到的问题是,每次它枚举数组时,都会从它遍历列表的次数中减去 x 的数量,即 13。

所以当 x 为 5 时,它只遍历数组 8 次。

如何修复一次遍历 13 个数字的问题?

最佳答案

您的代码首先取 13 个,然后跳过所取 13 个中的下一个 x 元素。相反,先跳过然后采取:

  for (int x = 0; x < 987; x++)
{
foreach(int number in numbers.Skip(x).Take(13))
{
hold = hold * number;
adjacent[index] = number;
index++;
}

if (hold > product)
{
product = hold;
}

Array.Clear(adjacent, 0, adjacent.Length);
index = 0;
hold = 1;
}

关于c# - array.Take(13).Skip(x) 减去 take,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38266255/

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