Rust语言编程例子 第024题:分数求和

Rust语言编程题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求:

①打印第20个数且计算这个数列的前20项之和。

②求这个数列N个数的和(N <= 300)。

程序分析:请抓住分子与分母的变化规律。当前数的分母等于前一个数的分子 + 分母,分子则等于前一个数的分母,以此类推......

输出格式:输出分两行打印(如下所示):

第 20 个数是 {} / {}

前 20 个数的和为 {}

知识点:循环

fn main() {
   // N个数
    const N: i32 = 20;

    let mut sum = 0.0;
    let mut a = 2.0;
    let mut b = 1.0;

    for i in 0..N {
        // 打印第N个数
        if i == N - 1 {
            println!("第 {} 个数是 {} / {}", N, a, b);
        }

        sum += (a / b);

        let temp = b;
        b = a;
        a += temp;
    }

    println!("前 {} 个数的和为 {}", N, sum);
}

程序执行结果:

第 20 个数是 17711 / 10946
前 20 个数的和为 32.66026079864164

Process finished with exit code 0

下一章:Rust语言编程例子 第025题:阶乘求和

Rust语言编程题目:求 1 到 N 的每个数的阶乘之后的求和。如:求1+2!+3!+...+20!的和。N <= 30。程序分析:之前做过类似的累加题目,这道题只是把累加变成了累乘。把前一 ...