标题
数列求和
类别
函数与递归
时间限制
1S
内存限制
1000Kb
问题描述
有一分数序列:
2/1,3/2,5/3,8/5,13/8,21/13,......An/Bn
A1=2,A2=3,An=An-1+An-2;
B1=1,B2=2,Bn=Bn-1+Bn-2。
求出这个数列的前n(2<=n<=30)项之和。
输入说明
一个整数n
输出说明
输出一个实数表示数列前n项之和,结果保留2位小数(四舍五入)
输入样例
2
输出样例
3.50
#include <stdio.h>
float function(int n)
{
int i;
float a, b, c, sum = 0;
for (i = 1; i <= n; i++)
{
if (i == 1)
{
a = 2;
b = 1;
}
else if (i == 2)
{
a = 3;
b = 2;
}
else
{
c = b;
b = a;
a = b + c;
}
sum += a / b;
}
return (sum);
}
int main()
{
int n;
scanf("%d", &n);
printf("%.2f", function(n));
return 0;
}