拉丁数列
来源:互联网 发布:百度地图云检索数据库 编辑:程序博客网 时间:2024/05/17 03:40
main(){
int a[9][9]={0};
int N,k=0;
int i=0,j;
printf("输入N:");
scanf("%d",&N);
if(!(2<=N&&N<=9))
{printf("erre");
exit(0);}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{ k=i+j;
if(N<=k)
k=k-N;
switch(k){
case 0: a[i][j]=1;break;
case 1: a[i][j]=2;break;
case 2: a[i][j]=3;break;
case 3: a[i][j]=4;break;
case 4: a[i][j]=5;break;
case 5: a[i][j]=6;break;
case 6: a[i][j]=7;break;
case 7: a[i][j]=8;break;
case 8: a[i][j]=9;break;
case 10: a[i][j]=1;break;
case 11: a[i][j]=2;break;
case 12: a[i][j]=3;break;
case 13: a[i][j]=4;break;
case 14: a[i][j]=5;break;
case 15: a[i][j]=6;break;
case 16: a[i][j]=7;break;
case 17: a[i][j]=8;break;
case 18: a[i][j]=9;break; }
}
}
for(i=0;i<N;i++){
for(j=0;j<N;j++)
{
printf("%d ",a[i][j]);
}
printf("/n") ;
}
}
/*该方法代码长,时间复杂度大为2*n的2次方,占内存大,是容易的解法*/
main(){
int a[9][9]={0};
int N,k=0;
int i=0,j;
printf("输入N:");
scanf("%d",&N);
if(!(2<=N&&N<=9))
{printf("erre");
exit(0);}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{ k=i+j;
if(k<N)
a[i][j]=k+1;
else a[i][j]=k+1-N;
}
}
for(i=0;i<N;i++){
for(j=0;j<N;j++)
{
printf("%d ",a[i][j]);
}
printf("/n") ;
}
}
/*该方法代码长,时间复杂度大为2*n的2次方,占内存较大,是最容易的解法*/
main(){
int a[9]={1,2,3,4,5,6,7,8,9};
int N,k=0;
int i=0,j;
printf("输入N:");
scanf("%d",&N);
if(!(2<=N&&N<=9))
{printf("erre");
exit(0);
}
for(j=0;j<N;j++)
{
for(i=0;i<N;i++)
{if(i+j<N)
printf("%d ",a[i+j]);
else
printf("%d ",a[i+j-N]);
}
printf("/n") ;
}
}
/*这是我想出的最简洁的办法,代码少,时间和空间复杂度都小,时间复杂度为n的平方,但是它不是真正的存储了数组,只是以数组的方式输出了数据。*/
int a[9][9]={0};
int N,k=0;
int i=0,j;
printf("输入N:");
scanf("%d",&N);
if(!(2<=N&&N<=9))
{printf("erre");
exit(0);}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{ k=i+j;
if(N<=k)
k=k-N;
switch(k){
case 0: a[i][j]=1;break;
case 1: a[i][j]=2;break;
case 2: a[i][j]=3;break;
case 3: a[i][j]=4;break;
case 4: a[i][j]=5;break;
case 5: a[i][j]=6;break;
case 6: a[i][j]=7;break;
case 7: a[i][j]=8;break;
case 8: a[i][j]=9;break;
case 10: a[i][j]=1;break;
case 11: a[i][j]=2;break;
case 12: a[i][j]=3;break;
case 13: a[i][j]=4;break;
case 14: a[i][j]=5;break;
case 15: a[i][j]=6;break;
case 16: a[i][j]=7;break;
case 17: a[i][j]=8;break;
case 18: a[i][j]=9;break; }
}
}
for(i=0;i<N;i++){
for(j=0;j<N;j++)
{
printf("%d ",a[i][j]);
}
printf("/n") ;
}
}
/*该方法代码长,时间复杂度大为2*n的2次方,占内存大,是容易的解法*/
main(){
int a[9][9]={0};
int N,k=0;
int i=0,j;
printf("输入N:");
scanf("%d",&N);
if(!(2<=N&&N<=9))
{printf("erre");
exit(0);}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{ k=i+j;
if(k<N)
a[i][j]=k+1;
else a[i][j]=k+1-N;
}
}
for(i=0;i<N;i++){
for(j=0;j<N;j++)
{
printf("%d ",a[i][j]);
}
printf("/n") ;
}
}
/*该方法代码长,时间复杂度大为2*n的2次方,占内存较大,是最容易的解法*/
main(){
int a[9]={1,2,3,4,5,6,7,8,9};
int N,k=0;
int i=0,j;
printf("输入N:");
scanf("%d",&N);
if(!(2<=N&&N<=9))
{printf("erre");
exit(0);
}
for(j=0;j<N;j++)
{
for(i=0;i<N;i++)
{if(i+j<N)
printf("%d ",a[i+j]);
else
printf("%d ",a[i+j-N]);
}
printf("/n") ;
}
}
/*这是我想出的最简洁的办法,代码少,时间和空间复杂度都小,时间复杂度为n的平方,但是它不是真正的存储了数组,只是以数组的方式输出了数据。*/
- 拉丁数列
- 拉丁方阵
- 拉丁方阵
- 拉丁方阵
- 拉丁方阵
- 拉丁矩阵
- 拉丁方阵
- 拉丁方
- 拉丁方阵
- 拉丁方正
- 拉丁矩阵
- 拉丁矩阵
- 拉丁方阵
- 拉丁方阵
- 拉丁方正
- 拉丁方
- 拉丁方阵
- 拉丁方阵
- jsp tag开发(转http://develop.csai.cn/web/200707061357021916.htm)自
- delphi编写dll
- RSS Reader完全指南
- 二级下拉关联菜单 js
- Base64
- 拉丁数列
- JSP:自定义标签——开发实例[3]
- 一劳永逸:关于C/C++中指针、数组与函数复合定义形式的直观解释
- Bresenham画直线
- 主题:哪九种技能最受中国雇主欢迎!
- 信心之地,力量之源
- 关于语句的优化
- Gartner分析师对云数据库的一点异见——第三部分(Gartner分析师Don Feinberg对作为服务的数据库(Database as a Service)和云数据库(Cloud DBs)的问答)
- 用jdbc连接数据库的例子