可以在不使用 "power" 和 "factorial" 函数的情况下更改 python 中的代码,以使用泰勒级数计算 cos (x) 的值

Possibility to change code in python without using "power" and "factorial" function to calculate the value of cos (x) with a Taylor Series

我正在尝试使用泰勒级数计算 cos(x) 的值: Value of cos(x) with Taylor Series

我的代码是这样的。

x = float(input("x: "))
n = int(input("n: "))

k=0
s=0
sign=1

while k<n:
    term = sign * x **(k)/math.factorial(k)
    s = s+term
    k = k+2
    sign = -sign

有没有办法不使用**-power 或factorial 函数而不使用其他函数。我的想法是 运行 只用一个循环的代码。

n 表示级数中的第 n 个元素,例如 x^4/x! 是泰勒级数的第三个元素。

注意4! = 2! * 3 * 4;注意 x ^ 4 = x ^ 2 * x * x.

不必每次都计算这些,您可以这样做:

x = float(input("x: "))
n = int(input("n: "))

k = 0
s = 0
sign = 1

factorial = 1
x_k = 1

while k < n:
    term = sign * x_k / factorial
    s = s + term
    k = k + 2

    # calculate next k! and x ^ k
    factorial *= k * (k - 1)
    x_k *= x * x
    sign = -sign