求有规律数列求和 有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数

思路:传入两个数作为第一个分数的分子和分母,用一个变量接受分数数值,接着利用循环求出前n项和,注意迭代过程

#include<stdio.h>

int main() {
    float a = 2.0, b = 1.0, c, sum = 0.0;注意接收数据的类型
    int n;
    scanf("%d", &n);
    while (n > 0) {
        c = a / b;
        sum = sum + c;
        a = a + b;//进行分子的迭代
        b = a-b;//进行分母的迭代
        n = n - 1;//循环变量迭代
        printf("a=%2.f b=%2.f\n",a,b);
    }
    printf("%2.f\n",sum);
    getchar();
    getchar();
    return 0;
}

这是一个著名的数学问题,数列中的每一实际上是斐波那契数列(Fibonacci sequence)的两个相邻数相除的结果。斐波那契数列是以0、1开始,后面的每个数字都是面两个数字的和:0, 1, 1, 2, 3, 5, 8, 13, 21... 针对您给出的数列,我们可以看到规律,即第n就是F(n) / F(n-1),其中F(n)是斐波那契数列的第n。为了计算20之和,我们需要先找出20的斐波那契数,然后做相应的除法。 斐波那契数列如下: F(1) = 0 F(2) = 1 F(3) = 1 F(4) = 2 ... F(20) = 第20个斐波那契数 现在,我们需要计算F(1)/F(0), F(2)/F(1), ..., F(20)/F(19)。由于F(0)通常定义为0,而除以0在数学上没有定义,所以第一应从F(1)开始算起。 因此,我们先计算F(1)+F(2)+...+F(20),再除以的F值得到数列的和。这是递推性质,可以用动态规划或矩阵快速幂等算法加速求解。 下面是计算20斐波那契数的和: 20斐波那契数总和 + 后面的除法求和(F(n)/F(n-1)) 这个计算会比较复杂,涉及到大量的加法和除法运算,如果需要精确结果,建议使用编程语言来计算,例如Python: ```python def fibonacci_sum(n): fibs = [0, 1] for i in range(2, n+1): fibs.append(fibs[-1] + fibs[-2]) # 计算除法部分的和 division_sum = sum(fibs[i] / fibs[i-1] if i > 1 else 0 for i in range(1, len(fibs))) return fibs[-1], division_sum total_sum, division_sum = fibonacci_sum(20) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值