24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 862  |  回复: 2

shuh2010

银虫 (初入文坛)


[交流] 【求助】求助四阶幻方的算法?

四阶幻方的算法?
即:1    2     3      4
       5    6      7    8
      9    10    11   12  
     13    14     15   16
行加和=34   列加和=34      对角线加和=34

[ Last edited by shuh2010 on 2010-12-31 at 15:49 ]

我想知道的是算法?为什么这么编程,而不是具体程序?

[ Last edited by shuh2010 on 2011-1-27 at 17:10 ]
回复此楼

» 猜你喜欢

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiegangmai

版主 (职业作家)


★ ★ ★ ★
shuh2010(金币+1):谢谢参与
余泽成(金币+3):谢谢参与应助! 2011-01-07 11:25:47
shuh2010(金币+50): 2011-05-24 10:15:20
引用回帖:
Originally posted by shuh2010 at 2010-12-28 14:47:34:
四阶幻方的算法?
即:1    2     3      4
       5    6      7    8
      9    10    11   12  
     13    14     15   16
行加和=34   列加和=34      对角线加和=34

[ Last edited by shuh2010 o ...

MATLAB中有这样的函数magic,算法可参照http://www.docin.com/p-48553445.html。

MATLAB中的magic代码:
CODE:
function M = magic(n)
%MAGIC  Magic square.
%   MAGIC(N) is an N-by-N matrix constructed from the integers
%   1 through N^2 with equal row, column, and diagonal sums.
%   Produces valid magic squares for all N > 0 except N = 2.

%   Copyright 1984-2002 The MathWorks, Inc.
%   $Revision: 5.15 $  $Date: 2002/04/15 03:44:23 $

% Historically, MATLAB's magic was a built-in function.
% This M-file uses a new algorithm to generate the same matrices.

n = floor(real(double(n(1))));

% Odd order.
if mod(n,2) == 1
   [J,I] = meshgrid(1:n);
   A = mod(I+J-(n+3)/2,n);
   B = mod(I+2*J-2,n);
   M = n*A + B + 1;

% Doubly even order.
elseif mod(n,4) == 0
   [J,I] = meshgrid(1:n);
   K = fix(mod(I,4)/2) == fix(mod(J,4)/2);
   M = reshape(1:n*n,n,n)';
   M(K) = n*n+1 - M(K);

% Singly even order.
else
   p = n/2;
   M = magic(p);
   M = [M M+2*p^2; M+3*p^2 M+p^2];
   if n == 2, return, end
   i = (1:p)';
   k = (n-2)/4;
   j = [1:k (n-k+2):n];
   M([i; i+p],j) = M([i+p; i],j);
   i = k+1;
   j = [1 i];
   M([i; i+p],j) = M([i+p; i],j);
end

2楼2011-01-06 14:57:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiegangmai

版主 (职业作家)


★ ★
余泽成(金币+2):辛苦了,欢迎常来程序语言版! 2011-01-07 11:26:04
引用回帖:
Originally posted by shuh2010 at 2010-12-28 14:47:34:
四阶幻方的算法?
即:1    2     3      4
       5    6      7    8
      9    10    11   12  
     13    14     15   16
行加和=34   列加和=34      对角线加和=34

[ Last edited by shuh2010 o ...

这有一段C++的代码,生成的是<= 20的奇数魔方矩阵,可以参考。
http://zhidao.baidu.com/question/132129452.html
3楼2011-01-06 15:31:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 shuh2010 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 338求调剂,一志愿能源动力,外语是日语203 +3 zzz,,r 2026-04-02 3/150 2026-04-02 22:23 by ZXlzxl0425
[考研] 282求调剂 +3 aaa车辆 2026-04-02 3/150 2026-04-02 21:55 by zllcz
[考研] 085600,320分求调剂 +6 大馋小子 2026-04-02 6/300 2026-04-02 21:54 by dongzh2009
[考研] 一志愿武汉理工0856,初试334 +3 26考研材料 2026-04-02 3/150 2026-04-02 21:22 by dongzh2009
[考研] 316求调剂 +12 舟自梗 2026-04-01 16/800 2026-04-02 17:33 by zzsw+
[考研] 298求调剂 +4 什么是胖头鱼 2026-03-30 6/300 2026-04-01 22:06 by 客尔美德
[考研] 339求调剂,想调回江苏 +7 烤麦芽 2026-03-27 10/500 2026-04-01 21:35 by 495374996
[考研] 环境工程调剂 +9 hyzzzzzzz. 2026-04-01 9/450 2026-04-01 14:20 by salamander`
[考研] 085410人工智能 初试316分 求调剂 +3 残星拂曙 2026-03-31 3/150 2026-04-01 11:09 by 小熊raider
[考研] 考研材料工程351分调剂 +5 整个好的 2026-03-31 5/250 2026-04-01 09:36 by topgun2009
[考研] 318一志愿吉林大学生物与医药 求调剂 +6 笃行致远. 2026-03-28 6/300 2026-04-01 09:28 by oooqiao
[考研] 299求调剂 +8 嗯嗯嗯嗯2 2026-03-27 8/400 2026-03-31 18:23 by lizhi8172
[考研] 江苏苏北高校诚邀调剂同学 +3 zzll406 2026-03-31 3/150 2026-03-31 16:54 by 及时行乐fan
[考研] 282求调剂 不挑专业 求收留 +4 Yam. 2026-03-30 5/250 2026-03-31 14:41 by 王亮_大连医科大
[考研] 266分,求材料冶金能源化工等调剂 +8 哇呼哼呼哼 2026-03-27 10/500 2026-03-31 13:35 by Huaxue_Wang
[考博] 材料专业申博 +5 杜雨婷dyt 2026-03-29 5/250 2026-03-31 11:19 by oooqiao
[考研] 085701环境工程求调剂 +11 多久上课 2026-03-27 12/600 2026-03-30 21:21 by 研究僧导导
[考研] 297 地理学070500 复试求调剂 +3 小圆圈圈ooo 2026-03-30 3/150 2026-03-30 21:05 by 余震yz
[考研] 一志愿华中师范化学332分求调剂 +3 Lyy930824@ 2026-03-29 3/150 2026-03-30 20:15 by DHUSHUAI
[考研] 085701求调剂初试286分 +5 secret0328 2026-03-28 5/250 2026-03-30 12:54 by fangnagu
信息提示
请填处理意见