本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+… 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。
#include<stdio.h>
int main(){
int N;
scanf("%d", &N);
double i=1.0;
double j=2.0;
double sum=0.0;
int k=1;
for(k=1;k<=N;k++){
sum+=j/i;
double x=i;
i=j;
j=j+x;
}
printf("%.2f", sum);
return 0;}
这个代码要注意定义数为double型,因为这个是著名的“斐波那契数列”:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368…如果定义成int可能会超出范围。