n阶拉丁矩阵的定义是每行每列都是1到n的n个数字矩阵。而且各行各列的数字不相同。
如五阶拉丁矩阵如下:
1 2 3 4 5
2 3 4 5 1
3 4 5 1 2
4 5 1 2 3
5 1 2 3 4
请给出递推公式并编出生成这种拉丁矩阵的通用程序。
//从该矩阵可以得出,第一列从1到N。而后每一列是上一列加1.
#include<iostream.h>
#define N 8
void main(){
int array[N][N];
int i;
for(i=0;i<N;i++)
array[0][i]=i+1;
for(i=1;i<N;i++)
for(int j=0;j<N;j++)
{
array[i][j]=array[i-1][j]+1;
}
for(i=0;i<N;i++)
{for(int j=0;j<N;j++)
{
if(array[i][j]<10)
cout<<array[i][j]<<" ";
else
cout<<array[i][j]<<" ";
}
cout<<endl;}
}