




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Algorithm Gossip: 4N 魔方陣說明與 奇數魔術方陣 相同,在於求各行、各列與各對角線的和相等,而這次方陣的維度是4的倍數。解法先來看看4X4方陣的解法: 簡單的說,就是一個從左上由1依序開始填,但遇對角線不填,另一個由左上由16開始填,但只填在對角線,再將兩個合起來就是解答了;如果N大於2,則以 4X4為單位畫對角線: 至於對角線的位置該如何判斷,有兩個公式,有興趣的可以畫圖印證看看,如下所示:if(i%4=j%4|(i%4+j%4=3)/zai duijiao xian shang實作 C #include #include #define N 8 int main(void) int i, j; int squareN+1N+1 = 0; for(j = 1; j = N; j+) for(i = 1; i = N; i+) if(j % 4 = i % 4 | (j % 4 + i % 4) = 1) squareij = (N+1-i) * N -j + 1; else squareij = (i - 1) * N + j; for(i = 1; i = N; i+) for(j = 1; j = N; j+) printf(- , squareij); printf(n); return 0; 2、Algorithm Gossip: 2(2N+1) 魔方陣說明方陣的維度整體來看是偶數,但是其實是一個奇數乘以一個偶數,例如6X6,其中6=2X3,我們也稱這種方陣與單偶數方陣。解法如果您會解奇數魔術方陣,要解這種方陣也就不難理解,首先我們令n=2(2m+1),並將整個方陣看作是數個奇數方陣的組合,如下所示: 首先依序將A、B、C、D四個位置,依奇數方陣的規則填入數字,填完之後,方陣中各行的和就相同了,但列與對角線則否,此時必須在A-D與C- B之間,作一些對應的調換,規則如下:1. 將A中每一列(中間列除外)的頭m個元素,與D中對應位置的元素調換。 2. 將A的中央列、中央那一格向左取m格,並與D中對應位置對調 3. 將C中每一列的倒數m-1個元素,與B中對應的元素對調 舉個實例來說,如何填6X6方陣,我們首先將之分解為奇數方陣,並填入數字,如下所示: 接下來進行互換的動作,互換的元素以不同顏色標示,如下:由於m-1的數為0,所以在這個例子中,C-B部份並不用進行對調。實作 C #include #include #define N 6 #define SWAP(x,y) int t; t = x; x = y; y = t; void magic_o(int N, int); void exchange(int N, int); int main(void) int squareNN = 0; int i, j; magic_o(square, N/2); exchange(square, N); for(i = 0; i N; i+) for(j = 0; j N; j+) printf(- , squareij); printf(n); return 0; void magic_o(int squareN, int n) int count, row, column; row = 0; column = n / 2; for(count = 1; count = n*n; count+) squarerowcolumn = count; / 填A squarerow+ncolumn+n = count + n*n; / 填B squarerowcolumn+n = count + 2*n*n; / 填C squarerow+ncolumn = count + 3*n*n; / 填D if(count % n = 0) row+; else row = (row = 0) ? n - 1 : row - 1 ; column = (column = n-1) ? 0 : column + 1; void exchange(int xN, int n) int i, j; int m = n / 4; int m1 = m - 1; for(i = 0; i n/2; i+) if(i != m) for(j = 0; j m; j+) / 處理規則 1 SWAP(xij, xn/2+ij); for(j = 0; j m1; j+) / 處理規則 2 SWAP(xin-1-j, xn/2+in-1-j); else / 處理規則 3 for(j = 1; j = m; j+) SWAP(xmj, xn/2+mj); for(j = 0; j n*n,按顺序填入,遇到对角线的不填。/再把n*n-1,在剩下的空中按顺序填入/再看4N阶的排法/把矩阵分成N个4阶的矩阵,各个矩阵按4阶排列#include#define N 8void main()int f2020;int i,j,k;k=1;for(i=0;iN;i+)for(j=0;jN;j+)if(i%4=j%4|(i%4+j%4=3)fij=N*N-k+1;k+;elsefij=k+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江苏南京市建邺区平安联盟工作辅助人员招聘42人(二)考前自测高频考点模拟试题参考答案详解
- 文化资源保护责任书4篇
- 2025年安庆医药高等专科学校招聘高层次人才5人模拟试卷参考答案详解
- 2025昆明市甸沙乡卫生院招聘乡村医生(2人)模拟试卷及答案详解(名校卷)
- 2025河南洛阳师范学院招聘7人模拟试卷及答案详解(名校卷)
- 2025江苏苏州市吴江区引进教育重点紧缺人才12人考前自测高频考点模拟试题及1套参考答案详解
- 生态环境紧急预案编制承诺函(3篇)
- 2025鄂尔多斯市消防救援支队招聘50名政府专职消防队员考前自测高频考点模拟试题附答案详解
- 财务预算编制标准化流程模板企业年度财务规划工具
- 钻井工程承包合同6篇
- 医学输液知识培训内容总结
- 连锁店选址培训课件
- 心律失常健康讲座课件
- 《分布式光伏并网服务工作指引(试行)》2025
- 1.1走进化学科学 课件 鲁科版高中化学必修第一册
- 水利工程安全监测方案(3篇)
- 《五石之瓠》教学设计
- 【2025年】重庆市地质矿产勘查开发集团渝矿实业公司招聘1人考试笔试试题(含答案)
- 物业租售业务培训课件
- 化工企业污染场地治理与地下水修复工程项目实施计划
- 2025年龙源电力集团股份有限公司集团公司系统内招聘笔试参考题库附带答案详解
评论
0/150
提交评论