24小时热门版块排行榜    

查看: 909  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 娱乐 +3 Tide man 2026-08-03 3/150 2026-08-04 09:58 by gltch
[基金申请] 面上提前没消息,有中的吗 +14 archvillain 2026-08-02 17/850 2026-08-04 09:46 by archvillain
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 f1dmPx051StA 2026-08-03 7/350 2026-08-04 09:31 by v1TJC4qJauAB
[博后之家] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 jRl3mE6ddZGq 2026-08-03 5/250 2026-08-04 09:27 by v1TJC4qJauAB
[教师之家] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 jRl3mE6ddZGq 2026-08-03 10/500 2026-08-04 09:26 by v1TJC4qJauAB
[教师之家] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +5 cu9Nq1xK233Z 2026-08-03 10/500 2026-08-04 09:15 by v1TJC4qJauAB
[基金申请] 系统今天又提示维护了,估计离放榜不远了 +12 winnerche 2026-07-29 16/800 2026-08-04 08:18 by Equinoxhua
[有机交流] 一个有机合成实验室都需要哪些设备? 50+3 kf2781974 2026-07-31 10/500 2026-08-04 08:05 by 88817753
[找工作] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 cu9Nq1xK233Z 2026-08-03 9/450 2026-08-04 07:37 by k7OM8YghWbkC
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 cu9Nq1xK233Z 2026-08-03 13/650 2026-08-04 07:30 by k7OM8YghWbkC
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 cu9Nq1xK233Z 2026-08-03 6/300 2026-08-04 06:10 by k7OM8YghWbkC
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 jRl3mE6ddZGq 2026-08-03 6/300 2026-08-04 04:47 by k7OM8YghWbkC
[公派出国] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 cu9Nq1xK233Z 2026-08-03 7/350 2026-08-04 04:46 by k7OM8YghWbkC
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
[高分子] UV压敏胶开发 +3 ichall 2026-07-30 5/250 2026-08-03 14:40 by Sunrisepay
[基金申请] 面上再次挂了,太难了,躺也躺不了,倦也卷不过,小学校之殇! +19 低垂的野花 2026-07-31 25/1250 2026-08-03 09:25 by gy116024
[基金申请] 2026年国自然面上资助率 +16 布布和一二 2026-07-30 22/1100 2026-08-03 09:20 by gy116024
[考博] 2027年申博 50+3 射雕英雄胜 2026-07-30 3/150 2026-08-02 09:36 by lfy8008
[高分子] HXDI做水性聚氨酯乳液,是不是特别容易出渣 15+3 yuyusuv 2026-07-29 3/150 2026-07-31 09:21 by huizingga
[基金申请] 你们的时间戳变了吗 +3 archvillain 2026-07-30 4/200 2026-07-30 18:53 by levinzhwen
信息提示
请填处理意见