美文网首页
Rust语言编程实例100题-020

Rust语言编程实例100题-020

作者: L我是小学生 | 来源:发表于2021-07-06 06:57 被阅读0次

    Rust语言编程实例100题-020

    题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

    扩展:第N次反弹多高呢?

    程序分析:小球第一次落地单独分析,第一次落地时,反弹50米,总共经过100米。小球从第二次开始,经过的高度需要 * 2。反弹高度每次 / 2即可。

    输出格式:小球第 {} 次落地时,反弹 {} 米,总共经过 {} 米

    知识点:循环 浮点数

    fn main() {
        // 100米的高度
        const START_HEIGHT: f64 = 100.0;
        // 第 N 次落地
        const N: i32 = 10;
    
        // 第1次落地反弹的高度
        let mut height = START_HEIGHT / 2.0;
        // 总共经过多少米
        let mut sum = 100.0;
    
        // 从第二次开始
        for _ in 2..=N {
            sum += height * 2.0;
            height /= 2.0;
        }
    
        println!("小球第 {} 次落地时,反弹 {} 米,总共经过 {} 米", N, height, sum);
    }
    
    

    程序执行结果:

    小球第 10 次落地时,反弹 0.09765625 米,总共经过 299.609375 米
    
    Process finished with exit code 0
    

    相关文章

      网友评论

          本文标题:Rust语言编程实例100题-020

          本文链接:https://www.haomeiwen.com/subject/ayvwultx.html