![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
2个回答
展开全部
这个问题
如果是要用程序正漏来解答不好解 你可以设置成使用穷举法来解答
先加一个table 用来存储9个数据
再加一个table 用来存放九宫格
每向九宫格里加一个数据table里就少一个数据
再对纵横斜求值 如果满足和都相等 那就输出状态
对于算法的优化 简短机培清悄器运行时间
计算纵横斜的和 如果有2个不相等就终止并且计算下一个可能的组合
如果全部计算完再计算下一个的所有和,那么计算量会比较大
可以适当使用尾调用或者使用循环 因为本身计算量很大 是9的阶乘
不合理应用的话 对内存等的占用也很大
代码我一会再补上吧
------------------------------------------------------
昨天本来想帮你写九宫格的计配渣算程序
后来发现对表的操作什么的好像问题比较大 写了一下午没写出来
今天仔细看一下原来你只要改顺序
那改顺序的话 就是在下标上做手脚
观察顺序 原来是
7 8 9
4 5 6
1 2 3
倒过来的话就是
3 2 1
6 5 4
9 8 7
看到规律没 中间的不动 坐标变成10-i (i是原来的下标)
所以输出原来的九宫格
坐标由i改成 10-i就行了
如果是要用程序正漏来解答不好解 你可以设置成使用穷举法来解答
先加一个table 用来存储9个数据
再加一个table 用来存放九宫格
每向九宫格里加一个数据table里就少一个数据
再对纵横斜求值 如果满足和都相等 那就输出状态
对于算法的优化 简短机培清悄器运行时间
计算纵横斜的和 如果有2个不相等就终止并且计算下一个可能的组合
如果全部计算完再计算下一个的所有和,那么计算量会比较大
可以适当使用尾调用或者使用循环 因为本身计算量很大 是9的阶乘
不合理应用的话 对内存等的占用也很大
代码我一会再补上吧
------------------------------------------------------
昨天本来想帮你写九宫格的计配渣算程序
后来发现对表的操作什么的好像问题比较大 写了一下午没写出来
今天仔细看一下原来你只要改顺序
那改顺序的话 就是在下标上做手脚
观察顺序 原来是
7 8 9
4 5 6
1 2 3
倒过来的话就是
3 2 1
6 5 4
9 8 7
看到规律没 中间的不动 坐标变成10-i (i是原来的下标)
所以输出原来的九宫格
坐标由i改成 10-i就行了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询