Rust语言编程实例100题-024
题目:有一分数序列: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
网友评论