奇數階魔方演算法及實現方法 資料結構

2022-09-27 08:03:02 字數 2548 閱讀 6873

課程設計封面

題目: 奇數階魔方的演算法與實現

課程: 資料結構

學院: 資訊工程學院

專業: 物聯網工程

班級: 12普本物聯網

學號: 1201141009

姓名: 李冰洋

指導教師: 葉茂功

任務書書寫說明:

1完成期限:自 2014 年 6 月 5 日至 2014 年 6 月 18 日共 2 周

2. 計畫答辯時間: 2023年 6 月 22 日

黃河科技學院本科課程設計任務書

資訊工程學院電腦科學係物聯網工程專業 2008 級 12普本物聯網班

學生李冰洋學號 1201141009 指導教師葉茂功課程名稱: 資料結構

完成期限:自 2014 年 6 月 5 日至 2014 年 6 月 18 日共 2 周

課程設計題目

奇數階魔方的演算法與實現

課程設計內容與基本要求

一、內容

本次課程設計內容主要是利用二維陣列輸出正確的n階魔方矩陣

二、要求

(1)通過實際專案的分析、設計、編碼、測試等工作,掌握用c語言來開發和維護軟體

(2)按要求編寫課程設計報告書,能正確編寫分析、設計、編碼、測試等技術文件和使用者

三、參考文獻

1.王紅梅.資料結構.清華大學出版社

2.王紅梅.資料結構學習輔導與實驗指導.清華大學出版社

3.嚴蔚敏,吳偉民.資料結構(c語言版).清華大學出版社

4.葉茂功,代文徵.資料結構專案化教程.國防工業出版社

四、注意事項

1.提交課程設計**與課程設計說明書

2.材料的書寫符合《黃河科技學院畢業設計指導規範手冊

計畫答辯時間: 2014 年 6 月 31 日

專業(教研室)審批意見:

審批人(簽字):

目錄摘要1

課程設計目的2

課程設計內容2

程式執行流程圖3

程式源**4

執行結果9

結束語11

vc++6.0是一種基於c語言的資料庫設計、建立和管理的軟體,利用它可以對各種事務管理工作中的大量資料進行有效的管理並滿足資料檢索的需要。本系統就是根據現階段的需要,通過vc++6.

0開發乙個員工管理系統來實現對員工的資訊的查詢、高效的管理和維護。整個系統從符合操作簡便、介面友好、靈活、實用、安全的要求出發,完成了對員工資訊管理的過程,包括:每個員工的資訊編號、姓名、性別、出生年月、學歷、職務、**、住址等常用管理工作。

關鍵詞:員工管理系統, vc++6.0

1.課程設計目的

通過這次課程設計進一步了解了二維陣列的使用方法和一些基本的設計思路。對於乙個n×n的方陣,其中n為奇數,在n×n的魔方陣中,填入1到n2的整數,使得其各每一行、每一列、每條對角線上各個數字累加和皆相等[1]。

2.課程設計內容

本次課程設計內容主要是利用二維陣列輸出正確的n階魔方矩陣。

n階魔方,又叫幻方陣,在我國古代稱為「縱橫圖」,是乙個比較有趣的遊戲。[2]n階魔方就是用1到n2的數字不重複的填入方陣中。每一行中n個數之和,共得n個和;每一列中n個數之和,共得n個和;每一條對角線n個數之和,共得兩個和,每乙個和稱為魔數。

魔方陣中的每個魔數都相等。

如圖就是乙個3階魔方陣,它是用數字1到9不重複的填入3*3的方陣中,使得各行、各列及對角線的魔數都等於15。[3]

圖階魔方陣

3. 程式執行流程圖

4.程式源**

#include<>

#include<>

#include<>

#define max 99/*矩陣最大為99*99*/

void jishu(int n);

void out(int n,int a[max][max]);/*魔方矩陣輸出函式*/

void check(int n,int a[max][max]);/*魔方矩陣驗證函式*/

void main()

if(n==0)

break;/*n=0,本程式結束*/

cout<<"所得的魔方陣為:"< start=clock();

jishu(n);

cout<<"謝謝您的使用!"< }

void jishu(int n)/*奇數*/

a[p][q]=i;/*填入數字*/

}out(n,a);/*呼叫輸出函式*/

check(n,a);/*呼叫驗證函式*/

}void out(int n,int a[max][max])/*魔方矩陣輸出函式*/

cout< }

}void check(int n,int a[max][max])/*魔方矩陣驗證函式*/

if(sum1!=sum2)/*判斷矩陣橫行縱行的和是否與標準相同*/

sum1=0;

}for(k=0;k

if(sum1!=sum2)/*判斷矩陣主對角線的和是否與標準相同*/

cout<<"主對角線計算結果與標準不符,請輸入奇數!"< sum1=0;

for(k=0;k

二階魔方公式

1底面復原 先復原乙個面上的三個塊,會出現以下三種情況 1 先將空餘的一塊放在右手邊,下乙個方塊放在我門前的左手邊,再將他往右轉動,然後做 r u r 2 發現白色角塊在前面的右邊,我們做 uru r 3 白色朝上,我們做 r u2 r u r u r 4 特殊情況 白色在下面,我們要做 r u r...

五階魔方還原法 降階法

右 t上 右 t上右 t上 右 t上右 t上 右2 t上 tr u tr u tr u2 trtr f m1r f tr f m1r t右上 t右 上 t右上2 t右t右 前 右中 前 t右前 右中 五 整合稜邊 整合稜邊,變成型如 忽略中間一層,即可把5階魔方看作4階魔方,靈活運用,轉動表層,使魔...

四階魔方拆裝方法

1,散掉的魔方碎塊 2,分類擺好 最左下面那堆是和s連線的方片 3,三個主要連線件左上為t 右上為s 下面為d 4,組裝工具 5,去掉兩個螺絲平放到光碟上 中軸方塊靠上的一頭朝上 6,2 1 兩個t包乙個d 7,一共放4套2 1後每個s裝乙個方片兩套一組如圖擺好注意顏色一致8,上圖中的缺口明顯是讓填...