#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 calc_pow(double a, int b);//自定義一個(gè)pow函數(shù)求指數(shù)冪
double calc_pow(double a, int b) //定義pow利用了遞歸函數(shù)
{
? ? if (b == 0) return 1;
? ? else if (b == 1) return a;
? ? else if (b > 1)? return calc_pow(a, b - 1) * a;
}
double fn(double x, int n)
{
? ? if (n == 1)
? ? {
? ? ? ? return x;
? ? }
? ? else if (n > 1)
? ? {
? ? ? ? if (calc_pow(-1, n - 1) == -1) //當(dāng)系數(shù)為負(fù)數(shù)時(shí)
? ? ? ? ? ? return fn(x, n - 1) - calc_pow(x, n);
? ? ? ? else if (calc_pow(-1, n - 1) == 1)//當(dāng)系數(shù)為正數(shù)時(shí)
? ? ? ? ? ? return fn(x, n - 1) + calc_pow(x, n);
? ? }
}
原題:題目詳情 - 習(xí)題10-4 遞歸求簡單交錯(cuò)冪級數(shù)的部分和 (pintia.cn)
在此函數(shù)之外我又再定義多了一個(gè)pow函數(shù)來求指數(shù)冪,從而算得系數(shù)的指痪署。