您的位置:首页 > 编程语言 > Python开发

[python][计算方法]利用无穷级数计算幂运算(开根号)

2014-03-27 11:08 651 查看
#encoding=gbk

#a的n次方函数
def exp(a, n):
ret = 1
for i in range(0,n):
ret *= a
return  float(ret)

#n*(n-1)*(n-2)....
def getN_minus_n(n,x):
ret = float(1)
for i in range(0,x):
n1 = n - i
ret *= n1

return float(ret)

#n! 阶乘函数
def multi(x):
if x == 0:
return float(1)
ret = 1
for i in range(0,x):
ret *= (i+1)
return float(ret)

#求x的n次幂,n可以为分数、整数. x必须在0到2之间
def getnum(x, n):
print  str(x) + "^(" + str(n) + ") = ",
x = x - 1
ret = float(1)
for i in range(1,90):
ret += getN_minus_n(n,i) * exp(x,i) / multi(i)

return ret

print getnum(float(0.09), float(2))
print getnum(float(1), float(2))
print getnum(float(0.25), float(2))
print getnum(float(0.09), float(2)/4)
print getnum(float(1), float(2)/4)
print getnum(float(0.25), float(2)/4)


运行结果:

0.09^(2.0) = 0.0081

1.0^(2.0) = 1.0

0.25^(2.0) = 0.0625

0.09^(0.5) = 0.300000658292

1.0^(0.5) = 1.0

0.25^(0.5) = 0.5
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: