码迷,mamicode.com
首页 > 其他好文 > 详细

<11>【了解】递归函数概述及构成条件+【理解】递归应用举例

时间:2015-07-05 21:08:30      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:

【了解】递归函数概述及构成条件

递归函数:
  
        在函数的内部存在调用当前函数本身的语句,这个函数就是递归函数
 
    递归调用:
 
        递归函数中,调用自己的操作,递归调用
 
    递归调用注意:
 
        1)主调函数就是被调函数
        2)在递归函数中应该存在能够让递归结束的条件
 
    构成递归的条件:
 
        1)存在自己调用自己
        2)存在一个条件 ,能够让递归结束(否则,是死循环)
           n==1 age = 10
 
        3)能够找到一个规律,让要解决的问题的规模缩小
 
    递归的阶段:
 
        1)递推阶段

内存栈的特点:先进后出,
2)回归迭代阶段 迭代计算,一步步迭代返回值

 

 1 #include <stdio.h>
 2 
 3 
 4 //定义一个函数
 5 //计算年龄的方法
 6 int getAge(int n){
 7 
 8     int age;
 9     //如果 n == 1  年龄是10
10     if (n==1) {                    //到这步执行的时候就是迭代计算阶段
11         //n==1 表示第一个人,他的年龄是10
12         age = 10;            
13     }else{
14         //如果不是第一个人,当前这个人得年龄 = 前一个人(n-1)得年龄+2
15         age = getAge(n-1)+2;        //递推阶段
16     }
17 
18     return age;
19 
20 }
21 
22 
23 int main(int argc, const char * argv[]) {
24     
25     int age = getAge(5);
26     printf("age = %d\n",age);
27     
28     return 0;
29 }
age = 18

---------------------------------------------

【理解】递归应用举例

 

用递归法求n的阶乘

 

<11>【了解】递归函数概述及构成条件+【理解】递归应用举例

标签:

原文地址:http://www.cnblogs.com/kongweiiwei/p/4622987.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!