gpt4 book ai didi

algorithm - 打印二维图案

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

我发现了这个图案并决定打印它。

1  2  5  10 17
3 4 7 12 19
6 8 9 14 21
11 13 15 16 23
18 20 22 24 25

这里的规则是从 (0,0) 到 (0,1) 到 (1,0) 到 (1,1) 到 (0,2) 到 (2,0) 到 (1,2)到 (2,1) 到 (2,2) 等等直到 NxN 矩阵。

我有一个非常复杂的打印方法。有什么简单的方法可以打印这种图案吗?

更新:增加了一行和一列

最佳答案

似乎一般规则如下:

给定一个位置作为元组(n, m),下一个位置是

  • (n+1, 0),如果 n = m
  • (m, n),如果 n > m
  • (m, n+1),如果 n < m

在 Python 中:

def next_pos(n, m):
if n == m: return (n+1, 0)
if n > m: return (m, n)
if n < m: return (m, n+1)

例子:

N = 5
n, m = (0, 0)
matrix = [[None for _ in range(N)] for _ in range(N)]
for x in range(N*N):
matrix[m][n] = x+1
n, m = next_pos(n, m)

结果:

1   2   5   10  17
3 4 7 12 19
6 8 9 14 21
11 13 15 16 23
18 20 22 24 25

关于algorithm - 打印二维图案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37810350/

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