怎样用C语言编写幻方

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 00:25:58
怎样用C语言编写幻方怎样用C语言编写幻方怎样用C语言编写幻方你的这个问题实际上包括两个问题:1、幻方的算法2、怎样用C语言实现幻方的算法这两个问题是大不同的.关于幻方的算法,或者叫幻方填法,目前有很多

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

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