美文网首页
构造奇数阶幻方

构造奇数阶幻方

作者: burglar | 来源:发表于2018-08-25 15:05 被阅读0次

使用的是De la Loubère方法(也叫Siamese method)

#!/usr/bin/env python3
def magic_square(n):
    '''De la Loubere's solution for n-odd magic square'''
    square=[([0]*n) for i in range(n)]
    mid=n//2
    square[0][mid]=1
    count=1
    i=n-1 # i-th row
    j=mid+1   # j-th column
    while count<n*n:
        count+=1
        square[i][j]=count
        i=(i-1)%n
        j=(j+1)%n
        if square[i][j]!=0:
            i=(i+2)%n
            j=(j-1)%n
    return square
if __name__=='__main__':
    n=int(input('input an odd integer:\n'))
    square=magic_square(n)
    for i in range(n):
        print(square[i])

相关文章

  • 构造奇数阶幻方

    使用的是De la Loubère方法(也叫Siamese method)

  • 03 各种简单数字方阵

    n阶奇数幻方:image.png类似于这样一种n×n的矩阵,共有数字1 -- n * n,矩阵大小是n * n。矩...

  • 第二讲 数组和动态数组(4)——练习3:生成奇数阶幻方

    练习3:九宫图 题目要求 按照罗伯法生成奇数阶幻方 分析 把“1”放在中间一列最上边的方格中,从它开始,按对角线方...

  • 递归-N阶幻方-C#-V1

    class Program { static int jie = 5;//这里修改幻方的阶数。3阶秒开...

  • 2.九宫幻方

    问题描述小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分。三阶幻方指的是将 1~9 不重复的...

  • 你也可以构造一个幻方(初级幻方)

    幻方是一种将数字安排在正方形格子中,使每行、列和对角线上的数字和都相等的方法。 幻方最早出现在春秋时期(约公元前5...

  • 《少年2》

    修者以各种修炼之法吸收天地之间虚幻之气,历经幻身,幻士,幻师,幻魔,幻将,幻王,幻帝,幻圣,幻神九阶,每阶又分为前...

  • Three.js源码学习(二)core/BufferGoemet

    bufferGeometryId//BufferGeometry使用奇数作为id constructor构造器 i...

  • 组合数学1-漫谈组合数学

    1. 什么是组合数学 数学发展史:初等→分析→组合组合数学:抽象代数,集合论,数论,群论,拓扑学 幻方n阶幻方定义...

  • 算法:解三阶幻方

    题目:3X3 的九宫格,每个横竖斜相加都等于15,使用1-9数字。 要求:编程语言,1-9数字不重复。

网友评论

      本文标题:构造奇数阶幻方

      本文链接:https://www.haomeiwen.com/subject/bnkgiftx.html