Recursion 用交替符号相加项的和

Recursion 用交替符号相加项的和,recursion,numbers,Recursion,Numbers,可能是一个noob问题,但我想不出一个优雅的方法来解决以下问题。我想我不久前在Euler上看到了它,它困扰了我一段时间 假设你有一个复数z,我想要一个函数,它可以做以下事情 s = +/-z^0 s = +/-z^0 + +/-z^1 s = +/-z^0 + +/-z^1 + +/-z^2 ... 有人知道解决这个问题的好方法吗?任何帮助都将不胜感激。这是我的解决方案。zExp是一个预先计算的指数项数组 void sumSeries(zSum, zExp, count) { if (

可能是一个noob问题,但我想不出一个优雅的方法来解决以下问题。我想我不久前在Euler上看到了它,它困扰了我一段时间

假设你有一个复数z,我想要一个函数,它可以做以下事情

s = +/-z^0
s = +/-z^0 + +/-z^1
s = +/-z^0 + +/-z^1 + +/-z^2
...

有人知道解决这个问题的好方法吗?任何帮助都将不胜感激。

这是我的解决方案。zExp是一个预先计算的指数项数组

void sumSeries(zSum, zExp, count) {
    if (count == 0) {
        zSum += zExp[0];
        doSomethingWith(zSum);
        zSum -= 2*zExp[0];
        doSomethingWith(zSum);
    } else {
        zSum += zExp[0];
        sumSeries(zSum + zExp[count], zExp, count);
        zSum -= 2*zExp[0];
        sumSeries(zSum - zExp[count], zExp, count);
    }
}