加法的指数算法

时间:2015-10-06 04:35:10

标签: c++ exponentiation

我正在尝试计算数字x ^ n的幂,只需使用这样的纯加法:2 ^ 4 = 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 = 16所以即时使用以下代码计算2 ^ n:

    int[] left = new int[mid-low];

所以,如果你想计算3 ^ 4,你必须放add = x for ( i = 1; i <= n-1; i++){ add = add + add; } cout<< x << "^" << n << " = " << add << endl; 所以我的问题是如何让它与用户想要的任何数字一起工作?

3 个答案:

答案 0 :(得分:3)

对于基数b到x&lt; =&gt; 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;
    }
}

答案 1 :(得分:2)

您也可以查看此链接。这是对类似问题的回答 Calculate exponents via addition only

答案 2 :(得分:0)

// first deal with pow = 1 or 0 cases not shown here
// pseudocode for pow >= 2
var = 0
for (i = 0; i < num^(pow - 2); i++)  // ^ is raising to power, not xor
    for (j = 0; j < num; j++) 
        var += num

正如你所看到的那样,&#34; i&#34;条件检查你必须使用电源功能,所以不能用纯粹的添加