有一个分数序列,求出这个数列的前20项之和

有一个分数序列,求出这个数列的前20项之和

答案解析:

从题目当中可以看出来,下一个分式当中的分子为上一个分式中分子和分母的和,分母为上一个分式的分子。通过这个规律不难推出下一个分式的分子和分母,需要注意的是,保存分式的结果不能使用到整数,因为有可能会有小数的存在,所以我们需要选用浮点数double

代码示例:

#include <stdio.h> 
//定义循环次数
#define COUNT 20

int main()
{
  //定义第一个分式的分子为a, 值为2; 定义分母为b,值为1
  //定义相加的和为sum,初始值为0
  double a = 2, b = 1, sum = 0;
  double temp;

  for (int i = 0; i < COUNT; i++)
  {
    sum += a / b;
    //记录前一项分子
    temp = a;
    //前一项分子与分母之和为后一项分子
    a = a + b;
    //前一项分子为后一项分母
    b = temp;
  }
  printf("前%d项之和为:sum=%9.7f\n", COUNT, sum);
  return 0;
}

运行截图:

有一个分数序列,求出这个数列的前20项之和

posted @ 2021-04-22 12:13  张昊59  阅读(1233)  评论(0编辑  收藏  举报