C语言:习题4-3 求分数序列前N项和.2021-07-26

习题4-3 求分数序列前N项和 (15 point(s))

本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。

输入格式:

输入在一行中给出一个正整数N。

输出格式:

在一行中输出部分和的值,精确到小数点后两位。题目保证计算结果不超过双精度范围。

输入样例:

20

输出样例:

32.66

 

参考答案:

递归函数 

#include<stdio.h>

int main()
{
    double sum1(double n,double mu, double zi);
    double n,mu=1,zi=2;
    scanf("%lf",&n);
    //题目保证计算结果不超过双精度范围。
    
    printf("%.2f",sum1(n,mu,zi));
}

double sum1(double n,double mu, double zi)
{
    //计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。
    //注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。
    double result;
    if(n)
    {
        //printf("%f	%f\n",mu,zi);
		result=zi/mu+sum1(--n,zi,zi+mu); 
    }
	else return 0;
    return result;
}

上一篇:VendorNPC.lua --随身商人


下一篇:jquery - 导航轮播图