首页 > 解决方案 > 如何在不使用乘除运算符的情况下计算 A 的 B 次幂?

问题描述

我需要在不使用乘法和除法运算符的情况下找到 A 的 b 次幂,只需幂 (a, b)

例如: pow ( 2, 3 ) = 8

我无法理解这段代码背后的直觉。

int pow(int a, int b)  
{  
    if (b == 0)  
        return 1;  
    int answer = a;  
    int increment = a;  
    int i, j;  
    for(i = 1; i < b; i++)  
    {  
        for(j = 1; j < a; j++)  
        {  
            answer += increment;  
        }  
        increment = answer;  
    }  
    return answer;  
}

标签: c++

解决方案


好吧,内部循环通过将 a 添加到自身 a 次来将其自身相乘。

外循环这样做 b 次


推荐阅读