0

我已经为任意数量的 int 计算了正常的 lcm。但我想要的更像是一个“特殊”的 lcm - 不知道如何更好地描述这个,我很感激有人可以改进这个问题。

例如:我有{15, 21}
“正常” lcm 将是105 = 15 x 7 = 21 x 5
我想要的是45 = 15 x 3 ≈ 44 ( 21 x 2 )

另一个更复杂的例子:{ 11, 14, 15, 16, 31 }
我想要的是33 = 11 x 3 ≈ 32 ( 16 x 2 ) ≈ 31 ≈ 30 ( 15 x 2 ) ≈ 28 ( 14 x 2 )

计算出的特殊 lcm 不能小于任何给定数的实数倍数。例如 28 小于 33(假设它不能小于 - 最大差异量为 5)

手工做这种计算并不难,但我怎样才能把它变成一个程序呢?

4

0 回答 0