定义
递归算法: 直接或间接地调用自身的算法。
递归函数: 用函数自身给出定义的函数。
实例
阶乘函数
方法一:递归
#include<stdio.h>
// 阶乘函数 递归
factorial(int n){
//printf("%d\n",n);
if(n==1) return 1;
return n*factorial(n-1);
}
int main(){
int n;
scanf("%d",&n);
printf("%d",factorial(n));
return 0;
}
方法二:for循环 暴力(一个一个算)
#include<stdio.h>
// 阶乘函数 for循环
factorial(int n){
int i, a=1;
for(i=1;i<=n;i++){
a*=i;
}
return a;
}
int main(){
int n;
scanf("%d",&n);
printf("%d",factorial(n));
return 0;
}