求分数序列前N项和

超详细讲解,超详细讲解,超详细讲解!

分数 15

全屏浏览题目

作者 张彤彧

单位 浙江大学

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

输入格式:

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

输出格式:

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

输入样例:

20

输出样例:

32.66

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

#include <stdio.h>
int main()
{
    int n,i;
    double a=2,b=1,sum=0,temp;
    //注意这里的temp要用double类型定义,不然编译器会报部分正确
    scanf("%d",&n);
    for(i=1;i<=n;i++){
        sum+=1.0*a/b;
        temp=a;//利用temp将上一个分子赋值给下一个分母
        a=b+a;
        b=temp;
    }
    printf("%.2lf",sum);
    return 0;
}

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐