给定一个正整数n,和一个正整数p,编写一个程序来计算p的第n次正根
时间: 2023-03-23 08:02:26 浏览: 223
求n的n次方的数字根,c源程序,极精妙算法
以下是使用Python编写计算n次方根的程序:
```python
def nth_root(n, p, times=100):
"""
计算p的n次方根,通过二分法求解。
Args:
n (int): 次方根指数
p (int): 要开根的数字
times (int, optional): 迭代次数,默认为100。
Returns:
float: p的n次方根
"""
# 定义误差值
eps = 1e-10
# 初始化左右区间
left, right = 0, p
# 迭代求解
while times:
mid = (left + right) / 2
if abs(mid ** n - p) < eps:
return mid
elif mid ** n < p:
left = mid
else:
right = mid
times -= 1
return (left + right) / 2
# 示例
print(nth_root(2, 4)) # 2.0
print(nth_root(3, 8)) # 2.0
```
说明:上述程序使用二分法迭代求解n次方根,eps是误差值,left和right分别代表左右区间的值,mid代表左右区间的中间值。迭代的次数默认为100,可以根据需要进行调整。
阅读全文