考虑以下形式的收敛级数:
sum(((-1)^n)*something)
其中 n
是迭代的索引(n
从 1
到 infinity
)。
如果我们直接实现公式,我们有 std::pow(-1, n)
但是否有更“快速”的算法技巧来实现它?
最佳答案
检查n
是偶数还是奇数,
(n % 2 == 0) ? 1 : -1;
做到了。如果你想避开一个分支,
1 - 2*(n & 1)
关于c++ - (-1)^n 在 C++ 中求幂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14177618/