求"奇数幻方阵"程序
编程:实现小于十阶的任意奇数幻方阵.所谓"奇数幻方阵"是指:对奇数n,用1、2、3、。。。n*n组成一个n×n阶方阵,使每一行每一列以及每一个对角线上的所有元素之和均相等,为n(n*n+1)/2,如6 1 8
7 5 3
2 9 4
奇数幻方阵的算法:
1) 首先确定第一个数的位置,它在第一行的中间
2) 下一个数的位置在当前数的左上方,即行号减1,列号减1:
* 若该位置行号小于1,则放在该列最后一行;
*若该位置列号小于1,则放在该行最后一列;
*若该位置行列号均小于1,或若该位置已有数,则放在当前数的正下方;
3)重复2),直到所有数都一放好;