减治法求a的n次方
时间: 2023-09-26 08:09:13 浏览: 366
蛮力法、分治法、减治法求a的n次方,并比较运行时间
5星 · 资源好评率100%
减治法是一种快速求解整数幂的算法,可以用来求解a的n次方。
具体步骤如下:
1. 如果n等于0,则返回1。
2. 如果n等于1,则返回a。
3. 如果n是偶数,则将a的n次方转化为a的n/2次方的平方。
4. 如果n是奇数,则将a的n次方转化为a的(n-1)/2次方的平方乘以a。
下面是使用减治法求a的n次方的Python代码实现:
```
def pow(a, n):
if n == 0:
return 1
elif n == 1:
return a
else:
if n % 2 == 0:
return pow(a, n//2) ** 2
else:
return pow(a, (n-1)//2) ** 2 * a
```
其中,// 表示整除运算符。
阅读全文