有一个分数序列
,
,
,
,
,........ ,其中
,
,
,
。比如这个序列前6项分别是2/1,3/2,5/3,13/8,21/13。求这个分数序列的前n项之和。
输入:
输入有一行,包含一个正整数。
输出:
输出有一行,包含一个浮点数,表示分数序列前n项的和,精确到小数点后44位。
程序:
#include<stdio.h>
int main() {
int n;
scanf("%d", &n);
double p = 1, q = 2, t = 0, sum = 2;
for (int i = 2; i <= n; i++) {
t = q;
q = p + q;
p = t;
sum += q / p;
}
printf("%.4f", sum);
return 0;
}