如果有一定的数 x 0和 x n+1,如果 x i是整数 0 <= i <= n+1,如何用 JAVA 计算数字的总和?
总和表示它对 (x 1 ,x 2 ,...x n ) 的每个可能组合取 f(x 1 , x 2 , ... x n )的总和,使得不等式成立。不等式是x 0 < x 1 < x 2 < ... < x n+1
我有一个解决方案的想法,但它是一种使用二进制的非常无效的算法,它是 O(2 n )。当然,我不能使用“for”,因为它必须用于 n(非特定)次。
例如,
如果给定的是 x 1 = 1,并且 x n+1是 x 3 = 5,那么可能的组合是
- x 1 =1, x 2 =2, x 3 =5
- x 1 =1, x 2 =3, x 3 =5
- x 1 =1, x 2 =4, x 3 =5
总和应该计算所有这 3 个可能值集的总和。
有没有人知道更有效的算法?