目录
什么是递归?
递归是一种函数的一种使用方式!
当函数调用自身时,我们就称为“递归”。
递归的必要条件
1.存在限制条件,当满足这个限制条件的时候,递归便不再继续。
2.每次递归调用之后越来越接近这个限制条件。
递归的应用
通过递归算法求斐波那契数列
#include<stdio.h>
int fun(int n)
{
if(n==1||n==2)
{
return 1;
}
else
{
return fun(n-1)+fun(n-2);
}
}
int main()
{
int i,n;
printf("请输入你要打印的斐波那契数列项数:\n");
scanf("%d",&n);//n为打印的项数
printf("斐波那契数列:");
for(i=1;i<=n;i++)
{
printf("%d ",fun(i));
}
return 0;
}
递归求最大公约数
#include<stdio.h>
void swap(int *m,int *n){
int t;
if(m < n){
t = n;
n = m;
m = t;
}
}
int f(int m,int n){
if(m%n == 0)return n;
else
return f(n,m%n);
}