1. 程式人生 > 其它 >PTA 浙大版《資料結構(第2版)》題目集 習題-2.6

PTA 浙大版《資料結構(第2版)》題目集 習題-2.6

技術標籤:PTA演算法

習題2.6遞迴求簡單交錯冪級數的部分和(15point(s))

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

f(x,n)=x−x​2​​+x​3​​−x​4​​+⋯+(−1)​n−1​​x​n​​

函式介面定義:

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

Example:

#include <math.h>

double fn( double x, int n )
{
    if(n == 1) return x;
    if(n % 2 == 0) return -pow(x, n) + fn(x, n-1);
    return pow(x, n) + fn(x, n-1);
}

思路:

遞迴演算法。