c++ - (-1)^n 在 C++ 中求幂

标签 c++ math optimization

考虑以下形式的收敛级数:

sum(((-1)^n)*something) 

其中 n 是迭代的索引(n1infinity)。

如果我们直接实现公式,我们有 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/

相关文章:

database - SQLite:防止碎片化

javascript - 如何测试现有的Angularjs整体性能(DOM渲染)?

c++ - 打开模板参数 : does gcc remove the switch?

algorithm - 二维网格上的基础数学

algorithm - 从每条边中选择一个顶点

algorithm - Xnary(像二进制但不同)计数

javascript - 如何根据项目的某些属性有效地对数组进行排序

c++ - XMVECTOR 类型的函数参数传递

c++ - 在cpp中动态更改属性值

c++ - 模板运算符重载基类