我想找一个公式来对编程项目进行计算,但我找不到这个术语的名称。
假设我有一个数字3
。首先,我必须找到所有数字,直到这个数字..所以{ 1, 2, 3 }
现在我必须添加数字
((1) + (2) + (3) + (1 + 2) + (1 + 3) + (2 + 3) + (1 +2 +3)) = 24
如何调用这个术语并且有一个公式吗? 我在php中尝试了一些不同的方法来完成这项任务,但我的公式是错误的。谢谢你的帮助
答案 0 :(得分:0)
对于这样的问题,我通常会写出前几个例子并看看它在哪里,即如果我看到任何模式。
f(2) =
(1)+(2)
+(1+2)
= 2*(1+2) = 6
f(3) =
(1)+(2)+(3)
+(1+2)+(1+3)+(2+3)
+(1+2+3)
= 4*(1+2+3) = 24
f(4) =
(1)+(2)+(3)+(4)
+(1+2)+(1+3)+(1+4)+(2+3)+(2+4)+(3+4)
+(1+2+3)+(1+2+4)+(1+3+4)+(2+3+4)
+(1+2+3+4)
= 8*(1+2+3+4) = 80
所以问题简化为:
f(x) = 2^(x-1)*(x+(x-1)+...+2+1)
此外,(x+(x-1)+...+2+1)
的公式已知,x*(x+1)/2
。因此,公式是:
f(x) = 2^(x-1)*x*(x+1)/2
但是,我们可以进一步简化2^(x-1)/2
到2^(x-2)
。
因此,最终的公式是:
f(x) = 2^(x-2)*x*(x+1)
尝试一些示例来验证它是否有效:
f(2) = 2^(0)*2*3 = 6
f(3) = 2^(1)*3*4 = 24
f(4) = 2^(2)*4*5 = 80