当前位置: 首页 > news >正文

用递归的方式解决n阶幻方

include <stdio.h>

include <stdlib.h>

void f(int num,int n,int a[][n],int hang1,int lie1){
a[hang1][lie1]=num;

if(num==n*n){return;}
int nexthang,nextlie;if(hang1==0&&lie1!=n-1){//a[n-1][lie1+1]=++num;nexthang=n-1;nextlie=lie1+1;//return f(num,n,a,n-1,lie1+1);
}
else if(lie1==n-1&&hang1!=0){//a[hang1-1][0]=++num;nexthang=hang1-1;nextlie=0;//return f(num,n,a,hang1-1,0);
}
else if(hang1==0&&lie1==n-1){//a[hang1+1][lie1]=++num;nexthang=hang1+1;nextlie=lie1;//return f(num,n,a,hang1+1,lie1);
}
else if(hang1!=0&&lie1!=n-1){if(a[hang1-1][lie1+1]==0){//a[hang1-1][lie1+1]=++num;nexthang=hang1-1;nextlie=lie1+1;//return f(num,n,a,hang1-1,lie1+1);}else{//a[hang1+1][lie1]=++num;nexthang=hang1+1;nextlie=lie1;//return f(num,n,a,hang1+1,lie1);}
}
else{return;}
return f(num+1,n,a,nexthang,nextlie);

}
int main(){
int n;
scanf("%d",&n);
int a[n][n];
int hang,lie;int num=1;
for(hang=0;hang<n;hang++){
for(lie=0;lie<n;lie++){
a[hang][lie]=0;
}
}
f(1,n,a,0,(n-1)/2);

for(hang=0;hang<n;hang++){for(lie=0;lie<n;lie++){if(lie==n-1){printf("%d",a[hang][lie]);}else{printf("%d ",a[hang][lie]);} }if(hang!=n-1){printf("\n");}
}return 0;

}

http://www.zskr.cn/news/50724.html

相关文章:

  • imm docker 备份/迁移
  • abc326-d 题解
  • 搭建一个CTF比赛平台的经过
  • 四、Agent原理与ReAct 架构详解 ——《动手学Agent应用开发》学习心得
  • InterStellar
  • 每日反思(2025_11_15)
  • 猫树
  • Rust 解析验证码(结合 Tesseract OCR)
  • 『回忆录』高二上半期考试
  • 轮胎内喷涂优惠工具趋势分析报告
  • Spring AI Alibaba 项目源码学习(七)-Agent、BaseAgent、ReactAgent 分析
  • KEYDIY KD ZB28-3 Universal Hyundai Smart Remote Key (5pcs/lot) – Reliable Replacement
  • Yanhua Mini ACDP-2 A303 Volvo 2022+ IMMO License for ACDP-2 Module20
  • 西电TIC带鱼杯新生训练赛复盘
  • 20251115 - 从零到1详细剖析STM32的CAN架构【以STM32F407为例】
  • 2025 CSP-S 趋势记
  • 鲜花:记梦4
  • invalid literal for int() with base 10: abc中的base 10是什么意思? 另外它是怎么知道abc的?
  • byd秘钥 - MKT
  • NSubstitute之Substitute.ForT
  • 第4章 AI项目管理新范式:从交付功能到交付价值
  • C++ QT_数据转换(数值、QString、QByteArray、结构体)
  • 第3章 传统项目管理在AI中的局限
  • multisim 13 Problem: Accessing the database解决办法
  • AI元人文框架:意义世界的探索引擎
  • abc432
  • 20232310 2025-2026-1 《网络与系统攻防技术》实验五实验报告
  • 公告栏
  • 生物化学课程笔记
  • PELT算法浅析