習題2.6 遞歸求簡單交錯冪級數的部分和 (15分)
本題要求實現一個函數,計算下列簡單交錯冪級數的部分和:
f(x,n)=x−x2+x3−x4+⋯+(−1)n−1xn
函數接口定義:
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
#include <stdio.h>
#include <string.h>
#include <math.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 fn( double x, int n ){
int k;
if(n%2==0)
k=-1;
else
k=1;
if(n==0)
return 0;
return k*pow(x, n)+fn(x, n-1);
}