循环~分数序列求和

题目描述

有一分数序列: 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 从而将第一组数还原

posted on 2022-10-27 19:24  罗小罗佳油  阅读(108)  评论(0编辑  收藏  举报