Rust语言编程例子 第020题:落球反弹
Rust语言编程题目:一球从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语言编程题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下,的一半零一个。到第1 ...