本題要求實現一個函數,計算下列簡單交錯冪級數的部分和:
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
代碼:
//遞歸方法
/* 你的代碼將被嵌在這裏 */
double fn( double x, int n )
{
double f;
if(n==0)
{
f = 0;//特判
}else if(n==1){
f = x;//特判
}else{
f += pow(-1,n-1)*pow(x,n)+fn(x,n-1);//遞歸調用
}
return f;
}
//非遞歸方法
/* 你的代碼將被嵌在這裏 */
double fn( double x, int n )
{
double f;
if(n==0)
{
f = 0;
}else if(n==1){
f = x;
}else{
f += pow(-1,n-1)*pow(x,n)+fn(x,n-1);
}
return f;
}