求出这个数列的前20项之和"/>
有一个分数序列,求出这个数列的前20项之和
有一个分数序列:2/1 , 3/2 , 5/3 , 8/5 , 13/8 , 21/13 ...求出这个数列的前20项之和
特点:
前一项的分子为后一项的分母,前一项的分子、分母之和为后一项的分子
下面给出两种做法:
#include <stdio.h>
#define n 20 //求解项数
int main()
{int i;//循环变量double a=2,b=1;//a,b分别为某项的分子、分母double sum=0;double temp;//临时变量for (i=1;i<=n;i++){sum+=a/b;temp=a;//记录前一项分子a=a+b;//前一项分子与分母之和为后一项分子b=temp;//前一项分子为后一项分母}printf("前%d项之和为:sum=%9.7f\n",n,sum);return 0;
}
测试结果:
下面再给出用数组存储办法,代码如下:
#include<stdio.h>
#define n 20 //求解项数
int main()
{double sum=0;int s1[20]={2,3};//存储分子int s2[20]={1,2};//存储分母int i;for(i=0;i<18;i++){s1[i+2]=s1[i]+s1[i+1];s2[i+2]=s2[i]+s2[i+1];}for(i=0;i<n;i++)sum+=1.0*s1[i]/s2[i];printf("前%d项之和为:sum=%9.7f\n",n,sum);return 0;
}
测试结果:
更多推荐
有一个分数序列,求出这个数列的前20项之和
发布评论