【发布时间】:2016-06-04 02:17:49
【问题描述】:
我有一个轮子有 9 个辐条,由于制造公差,每个辐条的重量不同。
我需要在轮子上安排辐条,这样它就不会失去平衡。
计算向量的平衡I总和(复杂的system.numerics),即
辐条 #1 的复杂度 = Complex.FromPolarCoordinates(weight#1, 0)
和
辐条 #2 的复数 = Complex.FromPolarCoordinates(weight#2, 2*math.pi/9)
执行所有计算后,我得到结果并保存复数实数 Complex.real
然后我改变辐条的顺序并重新计算 complex.real。
我有 2 个问题,
1) 我如何计算排列,有效地改变顺序?我想避免 (362880) 9 的 9 个嵌套循环!排列组合?
2) 迭代是否有捷径?
我不确定还有哪些其他排列应用程序可以用作比较。
我最关心的是效率,我今天草拟了代码,却卡在了排列部分。稍后我会发布一些代码。
提前致谢
我创建了一个辐条和权重类,由此我可以测试许可
【问题讨论】:
-
This answer 可能会有所帮助。
标签: vb.net algorithm permutation