循环~分数序列求和
题目描述
有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。
输入
N
输出
数列前N项和
1 #include<stdio.h> 2 int main(){ 3 int N; 4 scanf("%d",&N); 5 double sum=0; 6 double x[100]; //用来存分子的数组 7 double y[100]; //用来存分母的数组 8 x[0]=2.0; //初始分子 9 y[0]=1.0; //初始分母 10 for(int i=1;i<=N;i++){ 11 x[i]=x[i-1]+y[i-1]; //分子 12 y[i]=x[i-1]; //分母 13 //printf("%lf/%lf\n",x[i],y[i]); 14 sum+=x[i-1]/y[i-1]; 15 } 16 printf("%.2lf",sum); 17 }
solution:
1 注意输出的时候因为按照循环第一组数不是2/1,循环将3/2做第一组数进行的累加,所以最后出书的时候应该将数组中的序号-1 从而将第一组数还原