一个函数调用自身,成为递归函数
凡事循环能做到的事,递归都能做到
[方法]
1、找出临界条件
2、找出这一次和上一次的关系
3、假设当前函数已经能用。调用自身机上上一次结果,求出本次结果
include <stdio.h>
int sum(int a);
//1+2+3+...+a的和
int main ()
{
int ret = 0;
ret = sum(5);
printf("ret = %d\n",ret);
return 0 ;
}
int sum(int a )
{
if(a == 1)
{
return 1;
}
return sum (a - 1) + a;
}
// 5 + sum(4)
// 5 + 4 + sum(3)
// 5 + 4 + 3 sum(2)
// 5 + 4 + 3 + 2 + sum(1)
// 5 + 4 + 3 + 2 + 1
网友评论