習題2.6 遞歸求簡單交錯冪級數的部分和(15 分)浙大版《數據結構(第2版)》題目集


本題要求實現一個函數,計算下列簡單交錯冪級數的部分和:

f(x,n)=xx2​​+x3​​x4​​++(1)n1​​xn​​

函數接口定義:

double fn( double x, int n );

其中題目保證傳入的n是正整數,並且輸入輸出都在雙精度范圍內。函數fn應返回上述級數的部分和。建議嘗試用遞歸實現。

裁判測試程序樣例:

#include <stdio.h>

double fn( double x, int n );

int main()
{
    double x;
    int n;

    scanf("%lf %d", &x, &n);
    printf("%.2f\n", fn(x,n));

    return 0;
}

/* 你的代碼將被嵌在這里 */

輸入樣例:

0.5 12

輸出樣例:

0.33

fn(x,n)代表前n項交錯級數的和,可以知道fn(x,n + 1)和他關系,n+1項和無非是比n項和多了個(1)n​​xn+1​​,我們可以看成fn(x,n) * (-x)變成−x2​​+x3​​x4​​++(1)n1​​xn​​+(1)n​​xn+1,再加上x即可,由此出來遞推關系fn(x,n)=x * (1 - fn(x,n-1))
代碼:
double fn( double x, int n ) {
    if(n==1)return x;
    else return x * (1 - fn(x,n-1));
}

 


免責聲明!

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



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