我想以最快的方式解决数学问题。 我有一组1到n之间的自然数,例如{1,2,3,4,n = 5},我想计算一个像这样的公式:数字组合的总和
s = 1 * 2 * 3 * 4 + 1 * 2 * 3 * 5 + 1 * 2 * 4 * 5 + 1 * 3 * 4 * 5 + 2 * 3 * 4 * 5
您可以看到,总和中的每个元素都是乘法集合中有n-1个数字。例如在(1 * 2 * 3 * 4)中排除5,在(1 * 2 * 3 * 5)中排除4。我知道一些乘法是重复的,例如(1 * 2)在3次乘法中重复。如何用最少的乘法数来解决这个问题。
对不起,对英文不好。 谢谢。
这是一个编程问题?你有什么尝试?是否将分裂算作乘法或其他方式? (我可以想到使用一个或多个分部或互惠的几种方法。)那么添加又如何呢?每个乘法可以被多个加法替代,以便不使用乘法。 –
我不想使用划分。只有乘法和和。这是我想解决的一个更大问题的一部分。我尝试在树中构造数字,但是我找不到能够使用重复乘法的好结构。 – Bazinevis
您还没有回答有关使用添加替换所有乘法的问题。另外,你的目标是最小化时间(正如你在第一句中所说的那样)或乘法(如你在你几乎最后一句中所说的)或其他东西? –