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