黑马程序员技术交流社区

标题: 递归函数问题 [打印本页]

作者: 亮~    时间: 2014-6-19 00:00
标题: 递归函数问题
#include <stdio.h>
/*
  1 + 2 + 3 + 4 + ... n

*/
//int sum(int n)
//{
//    int s = 0;
//    for (int i = 1; i <= n; i++) {
//       s = s + i;
//    }
//    return s;
//}
//
/*
   递归函数:自己调用自己,必须在满足一定的条件下,退出循环调用
   递归的使用场景:之前的某个,某个几个值,决定着当前这个值,那么就是用递归


//
   1 + 1 + 2 + 3 + 5 ...
   fun(n) = fun(n-1) + fun(n - 2)

*/

int feiBo(int n){
   
    if (n == 0) {
        return 1;
    }
    if (n == 1) {
        return 1;
    }
    return feiBo(n - 1) + feiBo(n - 2);
}
int sumFeiBo(int n){
//    int s = 0;
//    for (int i = 0; i < n; i++) {
//        s = s + feiBo(i);
//    }
   
    if (n == 0) {
        return 1;
    }
    return feiBo(n) +sumFeiBo(n - 1);
}

//int sum(int n){
//    if (n == 1) {
//        return 1;
//    }
//    return n + sum(n - 1);
//}
int main(int argc, const char * argv[])
{
//    int result = sum(3);
    int result = sumFeiBo(3);
    printf("result = %d\n",result);
    return 0;
}


作者: ios风痕    时间: 2014-6-19 23:49
标一下想问的问题




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2