1125: 【入门】求数列前n项的和
内存限制:32 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:38
解决:16
题目描述
求1/1+1/2+2/3+3/5+5/8+8/13+13/21+21/34……的前n项的和。
输入
第1行:一个整数n(1 <= n <= 30 )。
输出
一行:一个小数,即前n项之和(保留3位小数)。
样例输入 复制
20
样例输出 复制
12.660
提示
使用递归:
#include<bits/stdc++.h> using namespace std; int f1(int x) { if (x==1||x==2) return 1; else return f1(x-1)+f1(x-2); } int f2(int x) { if (x==1) return 1; else if (x==2) return 2; else return f2(x-1)+f2(x-2); } int main(){ int n; double ans=0; cin>>n; for (int i=1;i<=n;i++) { ans+=1.0*f1(i)/f2(i); } printf("%.3lf",ans); return 0; }