Proc 45. Описать функцию \(\text{Power4}(x, a, \varepsilon)\) вещественного типа (параметры \(x, a, \varepsilon\) - вещественные, \(|x| < 1\); \(a,\, \varepsilon > 0\)), находящую приближенное значение функции \((1+x)^a\):
\[(1+x)^a = 1 + a\cdot x + a\cdot (a-1)\cdot x^2/(2!) + ... \\ + a\cdot (a-1)\cdot ... \cdot (a-n+1)\cdot x^n/(n!) + ...\]
В сумме учитывать все слагаемые, модуль которых больше \(\varepsilon\). С помощью Power4 найти приближенное значение \((1+x)^a\) для данного x и a при шести данных \(\varepsilon\).
Решение на Python 3
import random
import math
def Power4(x,a,eps):
if eps <= 0:
print("Epsilon should be greater than 0")
y = a*x
f = 1 + y
i = 2
while abs(y) > eps:
y *= (a-i+1) * x / i
i += 1
f += y
#print(i,":",y,":",f)
return f
eps = 0.01
a = 10
x = 0.1
for i in range(0, 6):
#x = -0.5
#x = 2
print("( 1 +",x,") ^",a,"=",Power4(x,a,eps),";",(1+x)**a)
eps /= 10