| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2282 人关注过本帖
标题:[讨论]拉丁方阵问题
只看楼主 加入收藏
meiling01
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-11-2
收藏
 问题点数:0 回复次数:14 
[讨论]拉丁方阵问题
在N行N列的数阵中,数K(1<=K<=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
编一程序,从键盘输入N值后,打印出所有不同的N阶拉丁方阵,并统计个数。
大家试着做做看。
搜索更多相关主题的帖子: 方阵 拉丁 
2006-11-22 14:53
smartwind
Rank: 1
等 级:新手上路
威 望:1
帖 子:277
专家分:0
注 册:2006-11-13
收藏
得分:0 

N比较大的时候恐怕很难统计出所有的


2006-11-22 16:11
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 

#include <stdio.h>
#define N 7

int main()
{
int i, j;

for (i = 1; i <= N; i++)
{
for (j = i; j < N + i; j++)
printf("%3d", (j - 1) % N + 1);
printf("\n");
}
return 0;
}


2006-11-22 19:41
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

回朔法倒是可以解决,只不过,效率太慢了.


倚天照海花无数,流水高山心自知。
2006-11-22 21:32
自由呼吸
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2006-11-11
收藏
得分:0 
很有规律啊,一看不就知道了
2006-11-22 22:13
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用自由呼吸在2006-11-22 22:13:54的发言:
很有规律啊,一看不就知道了

那你把20个数的拉丁方阵看出来一下.


倚天照海花无数,流水高山心自知。
2006-11-22 22:19
science
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-11-22
收藏
得分:0 
上面这个程序挺不错,可对于像我这样的新手来说,很难第一次就能发现这样的规律。
很有可能用多次的for(),来完成这个拉丁方阵!
怎么才能炼倒像你们那样的水平呢?

2006-11-22 22:57
smartwind
Rank: 1
等 级:新手上路
威 望:1
帖 子:277
专家分:0
注 册:2006-11-13
收藏
得分:0 
随便写出一个当然简单,可问题是要写出所有的.........

2006-11-23 08:57
meiling01
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-11-2
收藏
得分:0 
这个题目挺难的,特别是写出所有的情况,我也不会,才和大家一起讨论的。3楼求一种情况的程序挺好的。
2006-11-23 09:30
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 

还算法不算好,但大家可以接一下。
#include<stdio.h>
#define N 20
int main(void)
{

int i;
for(i=1;i<=N*N;i++)
(i%N+i/N>N)?
printf("%2d ",i%N+i/N-N):
(i==N)?
printf("%2d\n",i):
(i!=N&&i%N==0)?
printf("%2d\n",i%N+i/N-1):
printf("%2d ",i%N+i/N);
return 0;
}


谁有强殖装甲第二部,可以Q我460054868
2006-11-23 13:06
快速回复:[讨论]拉丁方阵问题
数据加载中...
 
   



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

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