2024年10月23日 星期三

魔方陣

 for n in range(2,6):

    m = [[0]*n for _ in range(n)]

    r,c = 0,1

    

    for i in range(1,n*n+1):

        m[r][c] = i

      

        nr,nc = (r-1)%n,(c+1)%n

        

        if m[nr][nc]!=0:

            r = (r+1)%n

        else:

            r,c=nr,nc

    

    for i in m:

        print('\t'.join(map(str,[j for j in i])))

    print()


# 執行結果    

# 3 1

# 2 4


# 8 1 6

# 3 5 7

# 4 9 2


# 15 1 7 9

# 4 6 12 14

# 5 11 13 3

# 10 16 2 8


# 24 1 8 15 17

# 5 7 14 16 23

# 6 13 20 22 4

# 12 19 21 3 10

# 18 25 2 9 11

沒有留言:

張貼留言