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

拉丁演算法

發布時間: 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-07-02 11:43:03 瀏覽:635
如何更改筆記本電腦密碼方式 發布:2025-07-02 11:34:07 瀏覽:51
安卓平板不知道怎麼選 發布:2025-07-02 11:33:22 瀏覽:16
qq空間怎麼設密碼 發布:2025-07-02 11:30:29 瀏覽:718
跑跑卡丁車如何更改伺服器 發布:2025-07-02 11:27:35 瀏覽:300
我的世界112伺服器存檔 發布:2025-07-02 11:25:02 瀏覽:948
php類函數調用 發布:2025-07-02 11:24:27 瀏覽:26
redhat存儲 發布:2025-07-02 11:12:50 瀏覽:587
優酷不能用流量緩存 發布:2025-07-02 11:10:46 瀏覽:942
彩虹島小草怎麼設置腳本 發布:2025-07-02 11:10:33 瀏覽:923