递归其实就是一种解决问题的办法,在C语言中:递归就是函数自己调用自己
递归的思考方式就是把大事化小的过程
递归的递就是递推的意思,归就是回归的意思
(递归是少量的代码完成大量的运算)
1.递归存在限制条件当满足这个限制条件,便不再继续
2.每次递归调用之后越来越接近这个限制条件
- #include <stdio.h>
-
- //求和
- int sum(int n){
- //递归终止条件
- if(n==1){
- return 1;
- }
- return sum(n-1)+n;
- }
-
- //求菲波纳妾数列
- int fib(int n){
- //递归终止条件
- if(n==1 || n==2){
- return 1;
- }
- return fib(n-1)+fib(n-2);
- }
-
- //猴子吃桃
- int monkey(int n){
- //递归终止条件
- if(n==1){
- return 1;
- }
- return 2*(monkey(n-1)+1);
- }
-
- int main(){
- int res_1=sum(100);
- printf("res=%d",res_1);
- int res_2=fib(6);
- printf("res=%d",res_2);
- int res_3=monkey(4);
- printf("res=%d",res_3);
- return 0;
- }