本文主要是介绍打印魔方阵(python)实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
'''
魔方阵是我国古代发明的一种数字游戏:n阶魔方是指这样一种方阵,他的每一行,每一列以及对角线上的各数之和为同一个相同的常数,这个常数是:n*(n**2 + 1)/2,此常数称为魔方阵常数。由于偶数次阶的方阵求解起来比较困难,这里只考虑n为奇数的情况以下就是一个n=3的魔方阵:6 1 87 5 32 9 4它的各行各列及对角线元素之和为15算法设计:采用穷举法时,对于n比较到时,计算机也需要很长时间才能找出来。将1,2,...,n^2按照某种规则一次填入到方阵中,得到的恰好是奇数次魔方阵,规则如下:1、将1填入第一行的中间,即(1,(n+1)//2)的位置2、下一个数填在上一个数的主对角线的上方,若上一个数的位置是(i,j),下一个数应该填在(i1,j1),i1=i-1,j1=j-13、若填写的位置下标出界,则出界的值用n来代替,即若i=1=0,则取i1=n,若j-1=0,则取j1=n。4、若应填的位置虽然没有出界,但是已经填有数据的话,则应填在上一个数字的下面(行减1,列不变),即i1=i-1,j1=j。5、这样循环填数,直到把n*n个数全部填入方阵中,最后得到的是一个n阶魔方阵。
'''def main():a = []for i in range(1, 101): # 构造一个二维数组b = []for j in range(1, 101):b.append(0)a.append(b)n =
这篇关于打印魔方阵(python)实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!