我的位置: 首頁 > 學習專區 > .NET技術 > C語言實例 拉丁方陣

C語言實例 拉丁方陣

2013-06-19 09:34:34
來源:
[導讀] 構造 NXN 階的拉丁方陣(2

構造 NXN 階的拉丁方陣(2<=N<=9),使方陣中的每一行和每一列中數字1到N只出現一次。如N=4時:

1 2 3 4

2 3 4 1

3 4 1 2

4 1 2 3

*問題分析與算法設計

構造拉丁方陣的方法很多,這里給出最簡單的一種方法。觀察給出的例子,可以發現:若將每 一行中第一列的數字和最后一列的數字連起來構成一個環,則該環正好是由1到N順序構成;對于第i行,這個環的開始數字為i。按照 此規律可以很容易的寫出程序。下面給出構造6階拉丁方陣的程序。

*程序說明與注釋

#include

#define N 6 /*確定N值*/

int main()

{

int i,j,k,t;

printf("The possble Latin Squares of order %d are:\n",N);

for(j=0;j

{

for(i=0;i

{

t=(i+j)%N; /*確定該拉丁方陣第i 行的第一個元素的值*/

for(k=0;k

printf("%d",(k+t)%N+1);

printf("\n");

}

printf("\n");

}

}

*運行結果

The possble Latin Squares of order 6 are:

1 2 3 4 5 6 2 3 4 5 6 1 3 4 5 6 1 2

2 3 4 5 6 1 3 4 5 6 1 2 4 5 6 1 2 3

3 4 5 6 1 2 4 5 6 1 2 3 5 6 1 2 3 4

4 5 6 1 2 3 5 6 1 2 3 4 6 1 2 3 4 5

5 6 1 2 3 4 6 1 2 3 4 5 1 2 3 4 5 6

6 1 2 3 4 5 1 2 3 4 5 6 2 3 4 5 6 1

4 5 6 1 2 3 5 6 1 2 3 4 6 1 2 3 4 5

5 6 1 2 3 4 6 1 2 3 4 5 1 2 3 4 5 6

6 1 2 3 4 5 1 2 3 4 5 6 2 3 4 5 6 1

1 2 3 4 5 6 2 3 4 5 6 1 3 4 5 6 1 2

2 3 4 5 6 1 3 4 5 6 1 2 4 5 6 1 2 3

3 4 5 6 1 2 4 5 6 1 2 3 5 6 1 2 3 4

深圳北大青鳥

評論
熱點專題
>>
相關文章推薦
>>
好吊妞免费视频在线观看,久久亚洲国产人成综合网,久久精品国产2020,欧美精品综合在线
亚洲精品自在在线 | 欧美婷婷综合网 | 日韩亚洲欧美另类一区 | 日本精品一二区性爱片 | 五月婷婷第四色国产 | 中文字幕在线流畅不卡高清 |