【发布时间】:2018-11-08 22:58:44
【问题描述】:
我需要找到所有可能的 5x5 整数矩阵 1-5 在 R 中的每一行和每一列都是唯一的(想象一个数独)。
有没有什么有效的方法可以在不创建所有 120C5 矩阵然后找到合适的矩阵的情况下做到这一点?
谢谢!
【问题讨论】:
-
sapply(1:5, function(i) (1:5 - i) %% 5 + 1)。 (这是一个简单的问题,但对于未来的问题,请付出一些努力。这不是免费的代码服务。如果这是家庭作业,我希望我得到一个“A”。) -
您好,抱歉,我需要找到所有可能的组合,而不仅仅是一个 - 抱歉没有说清楚。
-
这是一个有趣的问题,我可能会搁置一段时间。但是,对于 SO 上的快速 Q/A 来说太多了,因此您可能无法得到回复。或者你可能,谁知道呢。但这将比大多数问题(我看到的)通常需要的更多努力。祝你好运。
-
这样的矩阵被称为拉丁方阵。请参阅stackoverflow.com/a/49203589/1320535 了解如何生成随机数。生成所有这些确实并不简单,请参阅en.wikipedia.org/wiki/Latin_square#Algorithms。
-
我同意@r2evans。这是一个计算上有趣的问题。我强烈建议您自己先尝试一下。你可以在网上找到资源,甚至here on SO。展示解决问题的代码尝试,我可以保证你会得到更好的响应(你也会学到更多)。目前这读起来太像"gimme teh codez"。