A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 亮~ 中级黑马   /  2014-6-19 00:00  /  1028 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#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;
}

1 个回复

倒序浏览
标一下想问的问题
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马