第6章函數-5 使用函數求余弦函數的近似值


本題要求實現一個函數,用下列公式求cos(x)近似值,精確到最后一項的絕對值小於eps(絕對值小於eps的項不要加):

cos (x) = x^0 / 0! - x^2 / 2! + x^4 / 4! - x^6 / 6! + ?

函數接口定義:funcos(eps,x ),其中用戶傳入的參數為eps和x;函數funcos應返回用給定公式計算出來,保留小數4位。

函數接口定義:

函數接口: funcos(eps,x ),返回cos(x)的值。 

 
 
 
         

裁判測試程序樣例:

在這里給出函數被調用進行測試的例子。例如: /* 請在這里填寫答案 */ eps=float(input()) x=float(input()) value=funcos(eps,x ) print("cos({0}) = {1:.4f}".format(x,value)) 

 
 
 
         

輸入樣例:

在這里給出一組輸入。例如:

0.0001 -3.1 

 
 
 
         

輸出樣例:

在這里給出相應的輸出。例如:

cos(-3.1) = -0.9991

代碼如下:

#求階乘的函數
def jc(n):
    sum = 1
    if n == 0 :
        sum = 1
    for i in range(1,n+1):
        sum *= i
    return sum

def funcos(eps,x):
    key = 1
    v = 0
    sum = 0
    while True:
        if abs(x**v/jc(v)) < eps:
            break
        else:
            sum = sum + (key)*(x**v/jc(v))
            v += 2
        key = key * (-1)
    return sum

這個程序不難,寫一個階乘的函數,然后循環求和即可。

這里要注意計算公式的正確性。

公式是x**v/jc(v),剛開始不知道咋想的,一直都認為是x的(v/jc(v))次方。搞了老半天都不知道哪錯了。

程序本身不難,細心研究即可。


讀書和健身總有一個在路上


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM