本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中输出部分和的值,精确到小数点后两位。题目保证计算结果不超过双精度范围。
样例">样例">样例">样例">输入样例:
20
输出样例:
32.66
#include<stdio.h>
int main()
{
int i,n;
double nume,deno,new_nume,sum,item;
scanf("%d",&n);
sum = 0;
nume = 2;
deno = 1;
for(i=0;i<n;i++){
sum = sum + 1.0*nume/deno;
new_nume = nume+deno;
deno = nume;
nume = new_nume;
}
printf("%.2f",sum);
return 0;
}
提示:
①和斐波那契数列问题相似,涉及到转换
取个中间变量(搭桥),比如a和b数值转换,c=a,a=b,b=c
②要求n较大时,分子和分母都得用double