| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 561 人关注过本帖
标题:求救...真正的高手
只看楼主 加入收藏
哈姆豆子
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2005-9-28
收藏
 问题点数:0 回复次数:4 
求救...真正的高手

求5*5的魔術方陣,其各行、各列與各對角線的和必須相同。 以方陣的某一邊中心為起來,開始向右(左)上方移動,並依序填入數字。若右(左)上方已有數值則向下填。 請高手指教...編寫此題程式碼....求救....誰會呢?教教我吧

搜索更多相关主题的帖子: 中心 
2005-10-22 16:37
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
还应该有个附加条件吧, 那就是这25个数出于 (n, n+1, ..... n+24), 当 n = 1 时, 那就是 1 到 25,
我说的对不对?

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-10-22 17:14
凌云
Rank: 1
等 级:新手上路
威 望:1
帖 子:78
专家分:0
注 册:2005-9-17
收藏
得分:0 

#include<iostream.h> #include<iomanip.h>

void main() { int i,j,k; int a[5][5]; for(i=0;i<5;i++) { for(j=0;j<5;j++) { a[i][j]=0; } } i=0; j=2; for(k=1;k<=25;k++) { a[i][j]=k; i--; j++; if((i<0)&&(j<5)) { i=4; } if((i>=0)&&(j>4)) { j=0; } if(((i<0)&&(j>4))||(a[i][j]!=0)) { i+=2; j--; } } cout<<"您所需要的5*5阶魔方阵如下:"<<endl; for(i=0;i<5;i++) { for(j=0;j<5;j++) { cout<<setw(2)<<a[i][j]<<" "; } cout<<endl; } }


2005-10-24 10:05
哈姆豆子
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2005-9-28
收藏
得分:0 
沒什麼附加條件ㄟ...它題目就是如此,只有說,5*5方陣由最上中間放1,逐次向右上填入,遇到沒格子,即往下或往左填入,遇到已經有數字,即往自己下方放
          1 8  
        5 7 14
      4 6 13
     10 12        3
     11     2 9      
         
2005-10-25 16:39
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
哈姆豆子, 那我告诉你如果没有限制条件,那么此题无解。解是有的,只不过,解为无穷多,所以就是没有解。

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-10-26 01:45
快速回复:求救...真正的高手
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029343 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved