22:神奇的幻方
时间:2022-05-07
本文章向大家介绍22:神奇的幻方,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
22:神奇的幻方
总时间限制: 1000ms 内存限制: 65535kB描述
幻方是一个很神奇的N*N矩阵,它的每行、每列与对角线,加起来的数字和都是相同的。 我们可以通过以下方法构建一个幻方。(阶数为奇数) 1.第一个数字写在第一行的中间 2.下一个数字,都写在上一个数字的右上方: a.如果该数字在第一行,则下一个数字写在最后一行,列数为该数字的右一列 b.如果该数字在最后一列,则下一个数字写在第一列,行数为该数字的上一行 c.如果该数字在右上角,或者该数字的右上方已有数字,则下一个数字写在该数字的下方
输入一个数字N(N<=20)输出按上方法构造的2N-1 * 2N-1的幻方样例输入
3
样例输出
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
1 #include<iostream>
2 using namespace std;
3 int a[1001][1001];
4 int now=1;
5 int tot=0;
6 int hang,lie;
7 int main()
8 {
9 int n;
10 cin>>n;
11 int c=2*n-1;
12 while(tot!=(c*c))
13 {
14 if(tot==0)
15 {
16 a[1][c/2+1]=now;
17 now++;
18 hang=1;
19 lie=c/2+1;
20 tot++;
21 }
22 else if(hang==1&&lie!=c)
23 {
24 a[c][lie+1]=now;
25 now++;
26 tot++;
27 hang=c;
28 lie=lie+1;
29 }
30 else if(lie==c&&hang!=1)
31 {
32 a[hang-1][1]=now;
33 now++;
34 tot++;
35 hang=hang-1;
36 lie=1;
37 }
38 else if((hang==1&&lie==c)||(a[hang-1][lie+1]!=0))
39 {
40 a[hang+1][lie]=now;
41 now++;
42 tot++;
43 hang=hang+1;
44 }
45 else
46 {
47 a[hang-1][lie+1]=now;
48 now++;
49 tot++;
50 hang=hang-1;
51 lie=lie+1;
52 }
53 }
54 for(int i=1;i<=c;i++)
55 {
56 for(int j=1;j<=c;j++)
57 {
58 cout<<a[i][j]<<" ";
59 }
60 cout<<endl;
61 }
62 return 0;
63 }
模拟。,,,,,,,,,,,
- 来玩Play框架01 简介
- spring cloud:config-server中@RefreshScope的"陷阱"
- JavaWeb(六)之MVC与三层架构设计
- 纸上谈兵: 最短路径与贪婪
- Java魔法堂:枚举类型详解
- 机器学习笔记(5):多类逻辑回归-手动添加隐藏层
- JavaWeb(五)之JSTL标签库
- spring cloud:Edgware.RELEASE版本中zuul回退方法的变化
- js中几种实用的跨域方法原理详解
- spring cloud:Edgware.RELEASE版本hystrix超时新坑
- JS魔法堂:再识ASCII实体、符号实体和字符实体
- MyBatis之传入参数——parameterType
- 被解放的姜戈07 马不停蹄
- 机器学习笔记(6):多类逻辑回归-使用gluon
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 图书管理系统(二)整合 SSM,你学会了么
- CellChat:细胞间相互作用分析利器
- 我对一类常考算法面试题的详细分析
- Python 面向对象编程(上篇)
- 基于TencentOS-tiny实现PM2.5传感器(攀藤PMSA003)数据解析思路及实现
- Centos7搭建SVN+Apache+iF.SVNAdmin实现web管理SVN
- 安卓最后一个大题复习
- 关于 Spring Ioc,看这一篇就够了!
- 第1次Spring源码学习之@Bean、@Configuration、xml、分析
- Spring 中的依赖注入(DI),你都知道多少?
- Docker配置1台Nginx+3台Tomcat做负载均衡
- Centos7.x+Docker部署RabbitMQ
- LeetCode(1)-找出数组中重复的数字
- LeetCode(面试题:二维数组中的查找)
- 面试题05-替换空格(LeeCode)