2022-11-13 c习题10-4 递归求简单交错幂级数的部分和

#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);//自定义一个pow函数求指数幂

double calc_pow(double a, int b) //定义pow利用了递归函数

{

    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) //当系数为负数时

            return fn(x, n - 1) - calc_pow(x, n);

        else if (calc_pow(-1, n - 1) == 1)//当系数为正数时

            return fn(x, n - 1) + calc_pow(x, n);

    }

}

原题:题目详情 - 习题10-4 递归求简单交错幂级数的部分和 (pintia.cn)

在此函数之外我又再定义多了一个pow函数来求指数幂,从而算得系数的指。

结果
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容