1、递归的定义及作用
逻辑示例
#include <stdio.h>
//函数递归
long long factorial(int n);
long long fabonacci(int n);
int main()
{
printf("6!=%lld\n",factorial(6));
printf("fabonacci(6)=%lld\n",fabonacci(6));
return 0;
}
//阶乘
long long factorial(int n)
{
if(n == 1)
{
return 1;
}//使用递归时首先要写递归结束的条件
return n * factorial(n-1);
}
//斐波拉切数列
// 1,1,2,3,5,8,13,21,34,55...
//f(1)=1,f(2)=1,f(n)=f(n-1)+f(n-2)
long long fabonacci(int n)
{
if(n==1 || n==2)//使用递归时首先要写递归结束的条件
{
return 1;
}
return fabonacci(n-1) + fabonacci(n-2);
}