【发布时间】:2012-05-20 15:05:54
【问题描述】:
我正在寻找一种有效的方法来生成每个可能组合中的数字组合。因此,如果我有一个通用整数列表 (1 - 120),我希望一个结果实际上是从 1 到 120 的数字顺序的所有 120 个数字,然后我需要这些数字顺序不同的所有其他组合.
【问题讨论】:
-
您是否发现或开发了一种效率不足以满足您要求的方法?并且需要帮助改进它(所以可能应该发布它) - 或者这只是一个“请发送代码”请求?
-
你知道有120个!不同的组合,对吧?以每纳秒 100 万次排列仍需要 1.2e178 年。
-
@helloworld922:那么最好尽快开始。 ;)
-
无论您尝试解决哪个问题,都可能是 NP 完全问题,这意味着使用蛮力解决(通过枚举整个搜索空间)在计算上是不可行的。您需要提出一种启发式或定向搜索算法来“智能”地解决问题。
-
仅
6 689 502 913 449 127 057 588 118 054 090 372 586 752 746 333 138 029 810 295 671 352 301 633 557 244 962 989 366 874 165 271 984 981 308 157 637 893 214 090 552 534 408 589 408 121 859 898 481 114 389 650 005 964 960 521 256 960 000 000 000 000 000 000 000 000 000迭代。
标签: c# math grouping permutation combinations