习题10-4 递归求简单交错幂级数的部分和 (15point(s)).c

本题要求实现一个函数,计算下列简单交错幂级数的部分和:

f ( x , n ) = x x 2 + x 3 x 4 + + ( 1 ) n 1 x n f(x,n)=x− x_​{2} +x​_3​​ −x​_4 +⋯+(−1)​^{n−1}​​ x_​n
​​

函数接口定义:

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
//   Date:2020/4/7
//   Author:xiezhg5
#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 fn( double x, int n )
{
	double result;
	if(n==0||n==1)
		result=x;
	else
		result=x-x*fn(x,n-1);  //题目公式再用递归跟求幂类似
	return result;
}
发布了208 篇原创文章 · 获赞 182 · 访问量 8640

猜你喜欢

转载自blog.csdn.net/qq_45645641/article/details/105357687