基本上一项转让予需要创建一个C#程序,将采取一些作为输入(n)的再创建一个二维数组大小为n×n个用数字1到(N * N)。它需要使用暴力方法。我已经完成了这个工作,但目前程序只会随机生成数字的顺序,所以它有时会不止一次地检查相同的顺序。显然这意味着需要很长时间才能检查3以上的任何数字,甚至3分钟可能需要几分钟时间。基本上我想知道是否有任何方式让我只检查一次订单。我只允许使用“基本” C#的功能,所以就像*,/,+,事情 - 而不是像.Shuffle等幻方蛮力算法
Q
幻方蛮力算法
1
A
回答
1
选择随机顺序,因为你发现了,是不是一个好主意。
我建议你把所有的号1 ...(N * N)的阵列,并且比发现所有的排列。
当你把所有的排列,可以很容易地创建方(1 ... N ==>的第一行,N + 1 ... 2N ==>第二行等)。现在
,发现所有的排列可以与基本操作来完成递归
3
让我知道我理解这个问题:你想列举的数字1到n的平方的所有排列,并检查是否置换产生了一个神奇的正方形。您现在随机生成排列,但您希望生成所有排列。
我写了一系列的关于生成排列物品;这里很容易总结。
http://ericlippert.com/2013/04/15/producing-permutations-part-one/
相关问题
- 1. 解释蛮力算法
- 2. 并行蛮力算法
- 3. 算法:里程表/蛮力
- 4. 并行蛮力算法GPU
- 5. ACM 4744蛮力算法
- 6. 求解方程的非蛮力方法的编程算法
- 7. 蛮力算法停止循环
- 8. 这个蛮力算法NP-hard?
- 9. 旅行商TSP:蛮力算法改进
- 10. 蛮力力 - C#
- 11. 蟒蛇蛮力?
- 12. 蛮力脚本
- 13. 蛮力与NULLs
- 14. 蛮力攻击
- 15. 蛮力优化
- 16. 蛮力HMAC
- 17. 如何蛮力算术拼图?
- 18. 蟒蛇并行计算任务蛮力
- 19. MySQL蛮力攻击
- 20. matlab循环蛮力
- 21. java中的蛮力
- 22. CUDA蛮力乐趣
- 23. MD5蛮力加速
- 24. MATLAB蛮力索引
- 25. GPU蛮力实现
- 26. 两点之间的最短距离。蛮力算法
- 27. 蛮力算法不会正确产生;否则工程精细
- 28. 如何枚举蛮力算法的所有可能性?
- 29. 所有的蛮力算法都是指数型的吗?
- 30. 具有Java传递字符串错误的蛮力算法
你可以编写自己的shuffle函数吗?这很容易做到。 – Dukeling
1)向我们展示了你到目前为止所拥有的,以及2)Brute Force的含义,为什么你必须使用它? 3)如果你真的认为真正的蛮力(穷举搜索所有可能的组合),它显然有严重的指数增长这个问题,甚至三个应该是缓慢的。 – RBarryYoung
根据你所做的事情,我假设这些数字必须随机分布在网格中(而不仅仅是从左上角的1开始)。它是否正确? – Dukeling