gpt4 book ai didi

c++ - Project Euler #11 每次运行都会产生不同的结果?

转载 作者:行者123 更新时间:2023-11-28 00:21:18 25 4
gpt4 key购买 nike

<分区>

我对 C++ 和一般编程还很陌生,所以我在 project euler 上做题来练习。我在问题 11 上遇到了这个问题:

我从需要输入的所有数字的二维 20 x 20 数组开始,然后定义了几个函数;一个循环并找到最大的前向对角线产品,一个用于最大的向后方向等......所以一旦所有这些都运行完,就会比较每个产品的返回以找到最大的。

据我所知,它们都与垂直应用程序不同,垂直应用程序似乎每次都会产生不同的结果,并且相差大约 100 倍。

水平的看起来像这样并且似乎可以工作:

int horizontal(int v[20][20]){
int x = 0, y = 0 ,out = 1, attempt = 1;
for (x = 0; x <= 15; x++){
for (y = 0; y <= 20; y++){
attempt = v[x][y]*v[x+1][y]*v[x+2][y]*v[x+3][y];
if (attempt >= out)
out = attempt;

产生不同结果的垂直的:

int vert(int v[20][20]){
int x = 0, y = 0 ,out = 1, attempt = 1;
for (y = 0; y <= 15; y++){
for (x = 0; x <= 19; x++){
attempt = v[x][y]*v[x+1][y]*v[x+2][y]*v[x+3][y];
if (attempt >= out)
out = attempt;
}
}
return out;
}

我不明白为什么每次垂直的输出都会改变而不是其他的。

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