Java 非连续数幻方
我试图通过一些修改来解决一个幻方问题。我有一个25个非连续整数的数组,我必须把它们排列成5x52D数组,这样这个数组就形成了一个幻方。我尝试过暴力算法,但它消耗了太多的时间。我试着在网上搜索对幻方问题的修改,但对于随机的非连续数,我什么也没找到。请告诉我是否有更好的方法来解决这个问题Java 非连续数幻方,java,algorithm,magic-square,Java,Algorithm,Magic Square,我试图通过一些修改来解决一个幻方问题。我有一个25个非连续整数的数组,我必须把它们排列成5x52D数组,这样这个数组就形成了一个幻方。我尝试过暴力算法,但它消耗了太多的时间。我试着在网上搜索对幻方问题的修改,但对于随机的非连续数,我什么也没找到。请告诉我是否有更好的方法来解决这个问题 谢谢,我想已经有很多代码了:例如,甚至。这些对你没有帮助吗?不,这对我没有帮助。前两个链接为连续数字创建幻方。我有非连续的。第三个链接检查一个正方形是否是幻方,我有25个整数,我必须检查这25个整数的所有可能组合,
谢谢,我想已经有很多代码了:例如,甚至。这些对你没有帮助吗?不,这对我没有帮助。前两个链接为连续数字创建幻方。我有非连续的。第三个链接检查一个正方形是否是幻方,我有25个整数,我必须检查这25个整数的所有可能组合,以检查其中一个是否构成幻方。我已经试过了,而且花了太多时间。你不应该检查所有可能的组合。如果每行的总和应该相同,那么它应该等于元素总和的1/5。只需将所有元素的和除以5(如果不可除,则问题无法解决)。然后你只需要用蛮力
C(25,5)
组合,比25少得多代码>我投票结束这个问题,因为“请求家庭作业帮助的问题必须包括你迄今为止为解决问题所做的工作的摘要,以及你解决问题的困难的描述。”@SSMA我想道歉,我读到了。我认为瓦雷夫的评论应该很有帮助。。。