其他提示

我已经解决了这个问题。鉴于项目Euler的性质是你自己解决问题(<!>“复印一个解决的填字游戏并不意味着你解决了它!)并且我不想为某人毁了这个否则,我真正能说的是你的解决方案看起来过于复杂。

但是,您可以在阅读文件时解决此问题。以这种方式解决问题#69将会变得轻而易举!

祝你好运!

我对这个问题有点困惑..
我首先要清理你的代码。

long long unsigned countNums(short x,
                             short y,
                             short array[][15],
                             short size, 
                             bool goright,
                             bool goright2) 
{
    long long unsigned currentSum;
    currentSum = array[x][y];

    if ((x + 1) < size)    x++; //this happened in both your if cases

    if (goright && ((y + 1) < size)      y++; 

    if (goright2)
    { 
        for (;x< size && y< size;x++,y++)
            currentSum += array[x][y];         

    }
    else 
    {
        for (;x<size;x++) 
            currentSum += array[x][y];            
    }
    return currentSum;
 }

现在我读了这个问题,我不确定它是在做你想要的。 因为这不是你想要的,所以我建议先把psudo-code作为答案。 忘记代码.. sudo代码的答案是什么?点击 哦,因为所有圣洁的爱。不要在for循环中放置多个初始化程序。我知道我会为此做好准备,但它很乱,真的不需要。 您可能会考虑的是一种重复功能。似乎是这个问题的理想选择。

main函数检查条目不为零,但它调用的另一个函数不会检查它,即使它再次更改索引。我不知道,我真的不明白你想做什么。

我看到15个元素的数组大小为15,声明的索引是否也从0开始?让我检查一下。只是确定,声明大小但基于0访问。好。

为什么你在一个地方使用嵌套的for语句,但稍后会使用compunded-condition for语句?更好地检查&&没有比<更高的优先级。第8组击败第13组此处。增量运算符在语句中没有多次使用,这很好。

听起来你以前用另一种语言做过这个问题,你是否也可以对此进行追踪并找到新程序首先出现的地方?

其他人都是对的,问题很混乱。我会首先尝试解决问题,如果金字塔从那个点开始并从底行到顶部构建,则在另一个矩阵中建立子分数给出最高分。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top