python sinx計算公式 阿新 • • 發佈:2018-11-22 【問題描述】 已知sinx的近似計算公式如下: sin x = x - x3/3! + x5/5! - x7/7! + ... + (-1)n-1x2n-1/(2n-1)! 其中x為弧度,n為正整數。編寫程式根據使用者輸入的x和n的值,利用上述近似計算公式計算sinx的近似值,要求輸出結果小數點後保留8位。 【輸入形式】 從控制檯輸入小數x(0<=x<=20)和整數n(1<=n<=5000),兩數中間用空格分隔。 【輸出形式】 控制檯輸出公式結果:小數點後保留8位。 【樣例輸入1】 0.5236 4 【樣例輸出1】 0.50000105 【樣例輸入2】 0.5236 50 【樣例輸出2】 0.50000106 【樣例說明】 輸入x為0.5236,n為4,求得sinx近似計算公式的值為0.50000105,小數點後保留8位;同樣,輸入x為0.5236,n為50,求得sinx近似計算公式的值為0.50000106,小數點後保留8位。 # sin x = x - x^3/3! + x^5/5! - x^7/7! + ... + (-1)^n-1 x^(2n-1)/(2n-1)! x, n = input().split() x = float(x) n = int(n) xiang = x sign = 1 x_mici = x jiechen = 1.0 sin_x = xiang for i in range(2, n + 1): sign *= -1 x_mici *= x * x jiechen *= (2 * i - 1) * (2 * i - 2) xiang = sign * x_mici / jiechen sin_x += xiang print("%.8f" % sin_x)