小小数阵的问题

来源:百度知道 编辑:UC知道 时间:2024/06/07 16:36:20
谭浩强那本书上循环这章的问题,给一个n阶数阵,每个元素为1-n平方不重复,条件为每一横排、每一纵列包括对角线上的所有元素相加都相等,如:2 9 4
7 5 3
6 1 8 用c编写一算法,输入n后,先判断是否有此数阵,若有则打印出数阵。这道题难了小弟一年啦,问人都不会。。。。
哪位大人教教我!!

3x3数阵,各条线之和应是15。
NxN数阵
其构成法则:
第一,阶数必须是奇数(n>=3);
第二,将“1”放在第一行的中间一列;
第三,从“2”开始只到n*n各数依次按下里列规则存放:
每一个数存放的行比前一个数的行数减1,列数加1;
第四,如果上一个数的行数为 1,则下一个数的行数为n,列数加1;
第五,如果上一个数的列数为n,则下一个数的列数为1,行数减1;
第六,如果一个数是N的整数倍,则把下一个数放在这一个数下面。
白度知道里有若干程序可用。
例如:
http://zhidao.baidu.com/question/36681093.html
http://zhidao.baidu.com/question/24957013.html