c++ 算法
for(j = 0;j < n;j++) {
p[i][j] = a[b_val[++k]];//a[0]-a[8] } }
//判断是否为n阶魔方阵 if(Judge(p,n)) {
printA(p,n); } } } } else { c--; } }
delete []b_val; }
void evaluate(int **p,int n)//给n阶方阵的元素赋值 { int i;
int *AllNum = new int[3*3]; for(i = 1;i <= n*n;i++) {
AllNum[i - 1] = i; }
combination(p,n,AllNum);