自学内容网 自学内容网

递归函数设计技巧

1. 拿起武器:数学归纳法

Step1:验证p(1)成立

Step2:证明如果p(k)成立,那么p(k+1)也成立

Step3:联合Step1 与 Step2,证明由 p(1)--->p(n) 成立

例如:证明 1 + 3 + 5 + 7 +......+ (2n -  1) = n^2

第一步:证明p(1) :   p(1) = 1 = 1^2

第二步:假设p(k)正确------>证明p(k+1)

        p(n-1) = (n-1)^2             p(n) = p(n-1)+(2n-1) = (n-1)^2+(2n-1) = n^2

第三步:证毕p(n)正确

2. 递归函数设计的三个重要部分

1. 重要:给 递归函数 一个明确的语义信息

2. 实现边界条件的逻辑程序

3. 假设递归函数调用返回结果是正确的,实现本层函数逻辑

3. 学以致用:递归求阶乘

int f(int n) { // f(n)代表n的阶乘的结果
    if (n == 1) { // 边界条件
        return 1;
    }
    return f(n - 1) * n; // 利用f(n - 1)的值,计算f(n)的值 (n - 1)! * n 
}

4. 习题

(1) 路飞吃桃


原文地址:https://blog.csdn.net/sc020826/article/details/142692860

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!