1422 - C语言-分数数列
时间限制 : 1 秒
内存限制 : 128 MB
有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。
题目输入
N
题目输出
数列前N项和
输入/输出样例
输入格式
10
输出格式
16.48
C语言解答
int main(int argc, char* argv[]) { int n,i; double sum,f[100]; while(~scanf("%d",&n)) { f[0]=1;f[1]=2; sum=0; for(i=1;i<=n;i++) { if(i>1) f[i]=f[i-2]+f[i-1]; sum+=f[i]/f[i-1]; } printf("%.2lf\n",sum); } return 0; }
C++解答
#include<iostream> #include<cstdio> using namespace std; int main() { int n; cin>>n; double fz=2,fm=1,sum=0; for (int i=1; i<=n; i++) { sum+=fz/fm; double t=fz; fz+=fm; fm=t; } printf("%.2lf\n",sum); return 0; }