1078:求分数序列和

题目描述:

有一个分数序列:

\frac{q_{1}}{p_{1}},\frac{q_{2}}{p_{2}},\frac{q_{3}}{p_{3}},\frac{q_{4}}{p_{4}},\frac{q_{5}}{p_{5}},...,其中,q_{i + 1} = q_{i} + p_{i},p_{i + 1} = q_{i},p_{1} = 1,q_{1} = 2。比如这个序列前6项分别是\frac{2}{1},\frac{3}{2},\frac{5}{3},\frac{8}{5},\frac{13}{8},\frac{21}{13}。求这个分数序列的前n项之和。带我去看题目

输入:

输入有一行,包含一个正整数n(n ≤ 30)。

输出:

输出有一行,包含一个浮点数,表示分数序列前n项的和,精确到小数点后4位。

输入样例:

2

输出样例:

3.5000

通过代码:

#include <bits/stdc++.h>
using namespace std;
int n,p = 1,q = 2,_p,_q;
double s = 2;
int main(){
    scanf("%d",&n);
    for(int _i = 2;_i <= n;_i ++){
        _p = q;
        _q = q + p;
        s += (double)_q / (double)_p;
        q = _q;
        p = _p;
    }
    printf("%.4lf",s);
    return 0;
}
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页