给出
f(n) = 1+x+x^2+x^3+……+x^n, (n >=0 && n is a integer)
输入x,n,我们如何以更高的效率计算结果?
答案 0 :(得分:5)
答案 1 :(得分:1)
n
倍增和{{1}}增量。将总和简化为封闭形式很容易,但计算封闭形式需要评估n
,这也可能会导致xn+1
倍增,但不需要分割。
虽然这实际上是有效的C,但可以将其视为伪代码。一个真正的实现将检查负n
而不是循环遍历n
数字空间的一半。如果你需要将它应用于整数int
而不是浮点x
,那肯定是要走的路。
x
答案 2 :(得分:0)
public class Test {
public static void main(String args[]) {
int x = 2, n = 10;
Double sum = new Double(0);
for (int i = 0 ; i <= n ; i++) {
sum = sum + Math.pow(x, i);
}
System.out.println(sum);
}
}