(1..25)柄,(急)(100分)

  • 主题发起人 主题发起人 VeryCoolBoy
  • 开始时间 开始时间
(不好意思,我输入法不太好,刚才不小心按了ENTER键,现将问题重新提出)
用1到25这25个数字排一个5*5的方阵,要求横加,竖加,斜加均能得75,不知算法怎么写
 
VeryCoolBoy:现在网速太慢,请不要重复发贴!(那个帖子我已删除)
 
htw:能否说得详细点,或是出部分代码参考,谢谢!
 
听你的意思好像是写一个五阶的幻方——看一看以前的Basic编程书籍,好像有公式。
 
17 24 01 08 15
23 05 07 14 16
04 06 13 20 22
10 12 19 21 03
11 18 25 02 09
看出规律来吗?
 
这是奇阶幻方。
算法很加单(只适合(2n+1)*(2n+1)的情况)
定义左上角为圆点0,0
1.i=1;
2.起点:(2,4)为 填1,
3. x++;y++;
i++;
4. if x>4 then
x-= 5;
if y>4 then
y-= 5;
if x<0 then
x+= 5;
if y<0 then
y+= 5;
5. if (x,y)已经填写数字 then
{
x--;
y-=2;
// 在原位置的上访填写
转4
}
else

(x,y)= i;
6. if i<25 then
转3
7. 结束
大致是这样字,很简单的。

 
多人接受答案了。
 
后退
顶部