由于对于任意的n,
n! = (n-1)! * n
即令f(n) = n!,存在公式
f(n) 亩羡= f(n-1) * n
int fac(int n){
if(n == 0 迹液|| n == 1) return 1
迅州拍return fac(n-1)*n
}
思路:递归求阶乘函数,如果输入的参数等于1则返回1,否则返回n乘以该函数下次递归。物凯参罩租唤考代码:
#include
int fun(int n)
{
if(n==1||n==0) return 1//如果参数是0或者1返回1
return n*fun(n-1)//否则返回n和下次递归的积
}
int main()
{
int n
scanf("%d",&n)
printf("%d\n",fun(n))
return 0
}
/*
5
120
*/
【递归算法的原理】
递归是计算机科型孙学的一个重要概念,递归的方法是程序设计中有效的方法,采用递归编写
递归能使程序变得简洁和清晰。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)