怎样用C语言编写幻方

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/28 11:58:33
怎样用C语言编写幻方
xTnQ~M6m5$rAj/P0^4вbB²09gQcB9373: \kVX +t л> [\r]uWR].yOz3+Ls<̈p"3SO>oSPG

怎样用C语言编写幻方
怎样用C语言编写幻方

怎样用C语言编写幻方
你的这个问题实际上包括两个问题:
1、幻方的算法
2、怎样用C语言实现幻方的算法
这两个问题是大不同的.
关于幻方的算法,或者叫幻方填法,目前有很多种,拉丁正交、马步法等等,针对奇数或者偶数(又分单偶数和双偶数)等有不同的算法,但这些算法只是帮你找到幻方的一个或多个实例(不会是全部),而同阶数的幻方到底有多少个,那只有用穷举法了,比如4阶幻方,基本4阶幻方共7040个,剔除旋转翻转的,即具有独立结构的共880个;4阶完美幻方共84个,具有独立结构的共48个.
对于高阶幻方(比如超过8阶),穷举法实际上是不可行的,因为它的穷举时间将是天文数字(以目前主流PC),所以不要试图用计算机穷举高阶幻方的全部结果,那将是徒劳的.
如果你只是需要1个实例,那么推荐你使用MATLAB语言工具,因为它提供了幻方函数magic(n),不需要编程,直接从命令窗口输入就可以得到答案.
至于第二个问题,当然你首先会C语言,剩下的就是编程技巧问题了,而这个问题是无从回答的.相信你问的是第一个问题.
以上的回答虽然没有明确给出答案,但相信对你会有帮助.