题目:
给定一个奇数n,比如n=3,生成1到n平方的数,如1到9,填入九宫格,使得横竖斜的和都相等。
思想:
n奇数幻方口诀:
1. 数字1放在第一行中间
2. 依次放在上一个数的右上角
2.1如果右边出去了就回到左边(3,4)
2.2 如果上面出去了就放下面(1,2)
2.3 如果右上角有了就放在这个数的下面(参考5,6)
例如:n=3
8 1 6
3 5 7
4 9 2
注意:
二维数组的动态申请与释放的方法
代码:
#include <iostream>
#include <stdlib.h>
using namespace std;
void sudoku(int n)
{
/*动态申请一个二维数组*/
int **ptr;
ptr= new int *[n];
for (int i = 0; i < n; i++)
{
ptr[i] &#