奇数阶幻方
  • 板块学术版
  • 楼主andygao
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/8/27 16:04
  • 上次更新2023/11/4 08:48:45
查看原帖
奇数阶幻方
542705
andygao楼主2021/8/27 16:04

整份代码试图形成奇数阶幻方,但有问题,能看一下码? 样例: 输入

3

输出

4 9 2

3 5 7

8 1 6

#include <cstdio>
int a[1009][1009];
int main(){
    int n;
    scanf("%d",&n);
    int x = n,y = (n+1)/2,k = 1; 
    a[x][y] = 1;
    x = 1;
    y++;
    k++;
    while(k <= n*n){
        a[x][y] = k;
        k++;
        x++,y++;
        int flag = 0;
        if(x>n&&y>n){
            x = 1;
            y = 1;
            continue;
        }else{
            if(x>n){
                x = 1;
                continue;
            }
            if(y>n){
                y = 1;
                continue;
            }
        }
        if(a[x][y]!=0){
            y--,x--;
            flag = 1;
        }

    }
    for(int i = 1;i<=n;i++){
        for(int j = 1;j<=n;j++){
            printf("%d ",a[i][j]);
        }
        printf("\n");
    }
}
2021/8/27 16:04
加载中...