分数序列的前20项之和

题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。

这里写图片描述

import javax.swing.JOptionPane;

public class CalSum {
    //分数序列:2/1,3/2,5/3,8/5,13/8,21/13...
    public static void main(String[] args) {
        JOptionPane.showMessageDialog(null, calSum(20));
    }

    static String calSum(int n) {
        double sum = 0;
        for (int i=1; i<=n; i++) {
            sum += getNum(i);
        }
        return String.format("%.5f", sum);
    }

    static double getNum(int n) {
        return getSequence(n+1)/(double)getSequence(n);
    }

    static int getSequence(int n) {
        if (n == 1) return 1;
        if (n == 2) return 2;
        return getSequence(n-1)+getSequence(n-2);
    }
}
### 使用 LabVIEW 计算分数序列 20 之和 在 LabVIEW 中实现分数序列 20 功能可以通过构建一个 For 循环结构并利用移位寄存器来保存每次迭代中的分子分母状态。以下是具体方法: #### 构建程序框图 1. 创建一个新的 VI 并放置一个 For 循环控件。 2. 设置 For 循环的计数输入为 `20`,表示需要执行 20 次循环。 3. 添加两个移位寄存器到 For 循环上,分别用于存储当的分子 (`fz`) 分母 (`fm`) 值。 #### 初始化参数 - 将第一个移位寄存器初始化为 `2.0`(初始分子值)。 - 将第二个移位寄存器初始化为 `1.0`(初始分母值)。 #### 主体逻辑设计 在 For 循环内部完成以下操作: 1. **计算的值** 利用除法函数 `(fz / fm)` 来获取当分数的数值,并将其累加至总变量中。 2. **更新分子分母** 更新规则如下: - 新分子 = 当分子 + 当分母 - 新分母 = 当分子 通过上述方式可以动态调整每一轮的分子分母值。 #### 输出结果 最后,在 For 循环外部连接一个指示灯或者显示控件用来展示最终的累积求结果。 ```csharp // 对应伪代码描述流程 float sum = 0; float fz = 2, fm = 1; for (int i = 0; i < 20; ++i) { sum += (fz / fm); float temp = fz; fz = fz + fm; fm = temp; } Console.WriteLine(sum); // 显示最终结果约为 32.660263[^1] ``` 以上过程可以在 LabVIEW 的图形化界面中逐一实现,借助其直观的操作环境快速搭建所需的算法模型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值