各位帮求数列前n项之和

输入小于66的正整数n,输出以下数列的前n项之和(精确到小数点后9位):
2/1 3/2 5/3 8/5 13/8 21/13省略,麻烦有解题思路和过程

分子分母都是斐波那契数列


#include<iostream>
 #include <iomanip>
using namespace std;
int main()
{
    int t,i,n;
    int fm=1,fz=2;
    double res = 0;
    cin>>n;
    for(i=0;i<n;i++)
    {
        res += (double)fz/fm;
        t = fm;
        fm = fz;
        fz += t;
    }
    cout<<setiosflags(ios::fixed)<<setprecision(9)<<res;
    return 0;
}

供参考:

#include <stdio.h>
void fun(int n)
{
    int i;
    double s = 0, k = 1.0, t = 2.0;//分母 分子初始项分别为 1 2
    for (i = 1; i <= n; i++) {
        s += t / k; //分项之和
        t = t + k;  //后项的分子 = 前项分子 + 前项分母
        k = t - k;  //后项的分母 = 前项的分子
    }
    printf("s=%.9f", s);
}
int main()
{
    int n = 65;
    scanf("%d", &n);
    if(n <= 0 || n >= 66) n = 65;
    fun(n);

    return 0;
}