當前位置:首頁 » 操作系統 » 拉丁演算法

拉丁演算法

發布時間: 2022-08-15 04:27:04

Ⅰ 拉丁方陣的C語言實例 拉丁方陣

構造 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<stdio.h>
#define N 6 /*確定N值*/
int main()
{
int i,j,k,t;
printf("The possble Latin Squares of order %d are: ",N);
for(j=0;j<N;j++) /*構造N個不同的拉丁方陣*/
{
for(i=0;i<N;i++)
{
t=(i+j)%N; /*確定該拉丁方陣第i 行的第一個元素的值*/
for(k=0;k<N;k++) /*按照環的形式輸出該行中的各個元素*/
printf("%d",(k+t)%N+1);
printf(" ");
}
printf(" ");
}
}
*運行結果
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

Ⅱ 哪位了解重復拉丁矩陣問題的演算法的

//package p1; /**拉丁矩陣*/ public class Latin { /**主方法*/ static int len,sum=0;//len是矩陣的階數,sum用來統計輸出次數 static int[][] a;//用來保存舉證 public static void main(String[] args) { len=Integer.parseInt(args[0]); a=new int[len][len]; set(0,0);//從第一個開始放 } /**在a[row][col]中放數字,當沒數字可放或者放最後一個數字成功時,返回false*/ static boolean set(int row,int col) { for(int value=1;value<=len;++value) //System.out.println("value="+value); //該語句用來調試邏輯錯誤 if(check(row,col,value))//調用check()來判斷是否能放數字 { a[row][col]=value;//放數字 if(len==row+1 len==col+1)//如果矩陣填滿,輸出結果並返回 false { print(); return false; } if(++col==len)//到行末換行 { ++row; col=0; } if(!set(row,col) --col<0{ System.out.println("Method "+(++sum)); for(int i=0;i[j]); System.out.println(); } } }

熱點內容
安卓網路編程怎麼用 發布:2025-01-16 03:04:45 瀏覽:899
湖南it伺服器怎麼樣 發布:2025-01-16 03:01:01 瀏覽:248
圖中兩種配置哪個好 發布:2025-01-16 02:59:28 瀏覽:582
如何解開密保密碼 發布:2025-01-16 02:57:44 瀏覽:23
中國銀行查詢密碼是什麼 發布:2025-01-16 02:33:20 瀏覽:794
堅果pro錄音文件夾 發布:2025-01-16 02:31:46 瀏覽:942
支付寶的登錄密碼忘記了如何改 發布:2025-01-16 02:30:30 瀏覽:224
解壓作業泥 發布:2025-01-16 02:28:02 瀏覽:810
我的世界rpg伺服器空島 發布:2025-01-16 02:26:49 瀏覽:93
ps腳本函數 發布:2025-01-16 02:15:28 瀏覽:484