要求输出1~n*n的自然数构成的魔方阵。(n<15且为奇数)
来源:互联网 发布:telnet 80端口 编辑:程序博客网 时间:2024/06/05 08:17
【描述】
输出"魔方阵"。所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。例如,三阶魔方阵为
8 1 6
3 5 7
4 9 2
要求输出1~n*n的自然数构成的魔方阵。(n<15且为奇数)
【解题思路】
(1)第一个位置在第一行正中。
(2)新位置应处于 最近一个插入位置右上方,但如果右上方位置已超出方阵上边界,则新位置应选 列的最下一个位置;如果超出右边界,则新位置应选 行的最左一个位置。
(3)若最近一个插入元素为N的整数倍,则选下面一行同列上的位置为新位置。
【C语言】
#include<stdio.h>#define MAX 15int main() {int n;int m = 1;int i, j;int a[MAX][MAX];scanf("%d", &n);i = 0;j = (n + 1) / 2 - 1; //(1)while (m <= n * n) { //(2)a[i][j] = m;m++;i--;j++;if ((m - 1) % n == 0 && m > 1) {i = i + 2; //(3)j = j - 1;}if (i < 0) //超出上界i = i + n; //(4)if (j > (n - 1)) //超出右边界j = j - n; //(5)}for (i = 0; i < n; i++) {for (j = 0; j < n; j++)printf("%d\t", a[i][j]);printf("\n");}return 0;}
0 0
- 要求输出1~n*n的自然数构成的魔方阵。(n<15且为奇数)
- 建立并打印1到n^2的自然数构成的魔方阵
- 魔方阵,古代又称“纵横图”,是指组成元素为自然数1、2…n的平方的n×n的方阵,其中每个元素值都不相等,且每行、每列以及主、副对角线上各n个元素之和都相等。
- 出现Time Limit Exceed 求解 对于任意大于1的自然数n,如果n为奇数,则n=3n+1,否则n=n/2,则经过若干步骤后n一定会变成1
- 输出和为n的所有的连续自然数序列
- 任意给定一个自然数N,要求M是N的倍数,且他的所有各位数字都是由0或1组成,并要求M尽可能小
- 输出自然数n的所有因子
- 蓝桥杯 C++ 输入一个自然数n,n的立方等于n 个连续的奇数和
- 和为n的连续自然数序列
- 设n为自然数;求n的阶乘。
- 39.判断N*N(规定N为奇数)的矩阵是否为幻方
- 读入一个自然数,将n分解为质因子连乘的形式输出(筛法)
- 时间复杂度为o(N)查找1至N-1构成的a[N]重复元素
- 时间复杂度为o(N)查找1至N-1构成的a[N]重复元素
- 时间复杂度为o(N)查找1至N-1构成的a[N]重复元素
- 编写程序实现n阶(n为奇数)魔方(C)
- 递归求奇数的阶乘1*3*5*7......*n(n为奇数)
- 利用递归计算奇数n的阶乘(n为奇数)
- atitit.企业管理----商业间谍策略的使用与防务
- android handler机制的简要分析
- 如何在ORACLE中异步调用存储过程的方法
- 机器视觉学习系列五:增强现实
- 134.根据公式计算和
- 要求输出1~n*n的自然数构成的魔方阵。(n<15且为奇数)
- 常用算法集锦
- SQL中Left Join、Right Join和Inner Join的使用
- ubuntu下配置vpn支持访问外网
- 鸿学金信风控详细介绍
- Java基础---反射
- tee命令用法小结
- 三、PageView Button的事件处理
- 杭电ACM1297——Children’s Queue~~大数相加的应用