gpt4 book ai didi

algorithm - 函数找出由 n*m 组成的矩形中有多少个幻方,其中 n,m - 自然数

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:07:33 28 4
gpt4 key购买 nike

enter image description here
我需要编写一个算法来解决这个练习,有什么建议吗?

练习:

我们有一个矩形,分成 n x m 个正方形,每个正方形都是自然数。编写一个函数来计算这个矩形内有多少个幻方。

幻方是 k x k (k>=2) 个数字(通常是整数)在方格中的排列,其中每一行和每一列中的数字,以及主对角线和副对角线中的数字,所有加起来相同。

最佳答案

构造4个数组:

1:每个元素都是原数组+左边的元素。

2:每一个元素都是原数组的元素+一个到顶部的元素。

3:每个元素都是原数组的元素+左上角的元素。

4:每个元素都是原数组的元素+右上角的元素。

你的数组会得到类似这样的东西。 现在你必须检查数组中每个可能的方形拟合(可能有更好的解决方案,但我想不出任何)在其他四个中寻找类似的东西。 由于我们将总和保存在数组中,因此我们可以清楚地看到,当检查一个 3x3 数组(从左上角开始)时,所有总和都是 15。这意味着它是一个幻方。

如果不是从左上角开始,它就不那么明显了,但仍然很容易。请看下面突出显示第二个幻方的示例。 你可以看到每个较暗的元素减去对应的较亮元素是常数(在本例中为 12)

第一个幻方的效果相同,但会有零,所以我们可以跳过它。

关于algorithm - 函数找出由 n*m 组成的矩形中有多少个幻方,其中 n,m - 自然数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27019710/

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