6-7 (多方案解決)遞歸求簡單交錯冪級數的部分和 (15分)
本題要求實現一個函數,計算下列簡單交錯冪級數的部分和:
函數接口定義:
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;
}
輸入樣例:
輸出樣例:
以下是代碼部分,採用了多種方法:
double pow(double x,int n){
if(n==0)return 1;
return x*pow(x,--n);
}
double fn( double x, int n ){
if(n==1)return x;
int flag = 1;
if(n%2==0)flag =-1;
return flag*pow(x,n--) + fn(x,n);
}