要求实现一个递归函数,高效求a b (1≤a,b≤62,a b <2 63 )。 函数接口定义: long long int pow(int a, int b); 其中a 、b 是用户传入的参数,C++语言实现
时间: 2024-05-10 16:16:38 浏览: 73
以下是用递归方式实现快速幂算法的C++代码:
```c++
long long int pow(int a, int b) {
if (b == 0) {
return 1;
}
long long int res = pow(a, b / 2);
if (b % 2 == 0) {
return res * res;
} else {
return res * res * a;
}
}
```
该函数使用了递归方式实现了快速幂算法,可以高效地计算 a^b 的值。其中,如果指数 b 为 0,则函数返回 1;否则,利用递归计算 a^(b/2) 的值,并根据指数 b 的奇偶性决定是否再乘上 a,最终返回计算结果。
阅读全文