Rust语言编程例子 第028题:递归回推

Rust语言编程题目:递归练习。程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。

有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。

输出格式:直接输出年龄即可。

知识点:递归

fn main() {
   let result = age(5);
    println!("{}", result);
}

fn age(n: i32) -> i32 {
    if n == 1 {
        return 10;
    }
    return age(n - 1) + 2;
}

程序执行结果:

18

Process finished with exit code 0

下一章:Rust语言编程例子 第029题:整数分解

Rust语言编程题目:咱们从呱呱坠地开始,就开始接触数字。生活中无时无刻的也都充满着数组。假设给你一个数字,是否可以将其中的每位数分解呢?输入一个不多于5位的正整数。然后满足以下两个要求:1、求它 ...