C语言实例 拉丁方阵_C/C++语言_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

C语言实例 拉丁方阵

作者:黑客防线网安C/C++教程基地 来源:黑客防线网安C/C++教程基地 浏览次数:0

本篇关键词:拉丁实例语言构造
黑客防线网安网讯:  构造 NXN 阶的拉丁方阵(2<=N<=9),使方阵中的每一行和每一列中数字1到N只出现一次。如N=4时:  1 2 3 4  2 3 4 1  3 4 1 2  4 1 2 3  *问题分析与算法设计  构造拉丁方阵的...
  构造 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
    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-15456-1.html
网站维护教程更新时间:2012-04-04 22:55:00  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer