给一个奇数阶N幻方,填入数字1,2,3…N*N,使得横竖斜方向上的和都相同
来源:互联网 发布:淘宝帐户无法登陆 编辑:程序博客网 时间:2024/04/30 04:05
/**************************************************************************/
/* 给一个奇数阶N幻方,填入数字1,2,3…N*N,使得横竖斜方向上的和都相同(腾讯)*/
/**************************************************************************/
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
void MagicCube(int n)
{
int **Matr = new int *[n];
for(int i=0;i<n;i++)
Matr[i] = new int[n];
int j = n/2; //j=n/2指的以首行中间数作为起点,即1所在的位置
int num = 1;
i = 0;
while (num!=n*n+1)
{
//往右上角延升,若超出则用%转移到左下角
Matr[(i%n+n)%n][(j%n+n)%n] = num;
//斜行的长度是n,超出则转至下一斜行
if(num%n==0)
i++;
else
{
i--; //记录行
j++; //记录列
}
num++;
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
cout<<setw((int)log10(n*n)+4)<<Matr[i][j]; //格式控制
cout<<endl<<endl; //格式控制
}
for(i=0;i<n;i++)
delete []Matr[i];
}
int main()
{
int n;
cin>>n;
MagicCube(n);
return 1;
}
- 给一个奇数阶N幻方,填入数字1,2,3…N*N,使得横竖斜方向上的和都相同
- 给定一个奇数n,比如n=3,生成1到n平方的数,如1到9,填入九宫格,使得横竖斜的和都相等。
- 给定一个奇数n,比如n=3,生成1到n平方的数,如1到9,填入九宫格,使得横竖斜的和都相等。
- 给一个奇数 N(1<N<2000),把从 1 到 N 2 的整数排成一个 N 行 N 列的方阵,使 该方阵的每一行、列和对角线上的 N 个数的和都相等
- 随笔:把1,2,3…n*n 的数字按照顺时针螺旋的形式填入数字矩阵
- 在N*N的棋盘上(1<=N<=10)请填入1,2,...N2共N2个数,使得任意两个相邻的数之和为素数。
- 输入一个奇数n,构造并输出一个n阶等和幻方
- n阶奇数幻方
- 用户输入一个数字n,计算1+2+3+4+……n的和。
- 输入一个奇数n,打印出一个n*n的矩阵,每个数字是从1到n*n的整数,要使每一行,每一列的数字之和都相等
- 以该数字为矩阵的大小,把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中
- 从键盘输入一个整数(1~20) 则以该数字为矩阵的大小,把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中。
- N宫格之横竖斜的和都相等
- 幻方(奇数阶&&4*n阶&&4*n+2阶)
- 39.判断N*N(规定N为奇数)的矩阵是否为幻方
- SEERC15 求一个正整数n,使得a+n和b+n的LCM值最小
- 蓝桥杯 C++ 输入一个自然数n,n的立方等于n 个连续的奇数和
- N宫格-横竖斜的和相等
- 我的第一篇博客
- Linux内核VPN实现源码分析(二)
- URI和URL的区别
- 读写方式打开文件,竟然不能写????为啥
- Java 技术,IBM 风格: Java 技术的新纪元 (JAVA7新特性)
- 给一个奇数阶N幻方,填入数字1,2,3…N*N,使得横竖斜方向上的和都相同
- Struts2 action跳转及重复执行
- abap--关于异常的处理
- 对各个挑战代码的性能测试和功能分析
- 大写字母转化为小写的
- C# Winform利用POST传值方式模拟表单提交数据(Winform与网页交互)
- companion.js调试器
- SQL Server 2000连接中的四个最常见错误
- 教你如何在 asp.net中实现 天气预报功能的 Webservices