c++ - 带加法的指数算法

标签 c++ exponentiation

我正在尝试通过像这样使用纯加法来计算数字 x^n 的幂:2^4= 2+2+2+2+2+2+2+2 =16 所以我使用以下代码计算 2^n:

add = x
for ( i = 1; i <= n-1; i++){
    add = add + add;
}
cout<< x << "^" << n << " = " << add << endl;

所以如果你想计算 3^4 你必须把 add = add + add + add所以我的问题是如何让它与用户想要的任何数字一起使用?

最佳答案

对于基数 b 到 x <=> b^x

在 C 中并且严格添加

int sum = b;
int add = b;
for (int i = 0; i < n+(-1); ++i) {
    add = sum;
    for (int j = 0; j < b+(-1); ++j) {
        sum += add;
    }
}

关于c++ - 带加法的指数算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32961815/

相关文章:

c++ - 有没有标准的方法来替换 C 风格的 bool 数组?

c++ - 使用键盘 : unintended side effects when pressing enter 将数据输入到 Qt GUI

c++ - 来自基类的访问者模式

python - 当 A、B、M 是大数时,如何计算 (A^B)%M?

c++ - 用于唯一标识我的应用程序当前运行的机器的跨平台库?

c++ - 传递 vector 作为递归函数的引用

c++ - 巨大数字的有效指数(我说的是 Googols)

java - ^ 运算符在 Java 中的作用是什么?

C编程使用模幂计算

OCaml 中的整数取幂