标题:五阶拉丁方阵求输出和统计个数
只看楼主
xtjopt
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:89
专家分:168
注 册:2012-9-12
得分:0 
哎 就没有简单的方法做么
2012-09-22 11:54
xtjopt
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:89
专家分:168
注 册:2012-9-12
得分:0 
第三天了  没答案 结贴了
2012-09-22 18:04
行僧
Rank: 1
等 级:新手上路
帖 子:8
专家分:4
注 册:2012-10-10
得分:0 
顶一下
2012-10-16 23:59
SamWoo
Rank: 2
等 级:论坛游民
帖 子:13
专家分:48
注 册:2012-10-17
得分:0 
直接上程序........

#include<stdio.h>
#include<stdlib.h>
#define N 10
void main()
{
    int i,j,n,k,m=0;
    printf("\nThere are the Latin Matrixs: \n");
    for(i=0;i<N;i++)
    {
        printf("\n===========\n");
        for(j=0;j<N;j++)
        {
            n=(i+j)%N;
            for(k=0;k<N;k++)
            {
                printf("%2d",(n+k)%N+1);
            }
            printf("\n");
        }
        m+=1;
    }
    printf("\nThe Latin Matrix is %d\n",m);
    system("pause");
}
2012-10-18 01:10
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
得分:0 
程序代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a[100],i,M,j;
printf("please input M value M<=25\n");
scanf("%d",&M);
  for (i=0 ;i<2*M; i++)
  {
if(i<M) a[i]=i+1;

 else a[i]=i-M+1;
  }
for (i=0; i<M; i++)
{
  for(j=i; j<M+i; j++)
    printf("%3d",a[j]);
printf("\n");
}
    system("pause");
    return 0;
}


[ 本帖最后由 qunxingw 于 2012-12-1 12:53 编辑 ]

www.qunxingw.wang
2012-12-01 12:26
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
得分:0 
今看题后才发现15楼仅是N阶方阵的其中一种方式,如果这样,就以此为基准,对各行进行排列(N!);对各列进行排列(N!)。故N阶方阵的总数(N!)的平方。如5拉丁方阵总数就有14400个。

www.qunxingw.wang
2013-02-04 15:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-381699-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.218034 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved