重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#include stdio.h
创新互联公司专业为企业提供陆良网站建设、陆良做网站、陆良网站设计、陆良网站制作等企业网站建设、网页设计与制作、陆良企业网站模板建站服务,十多年陆良做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
int fac(int n)
{
if(n2)
return 1;
return n*fac(n-1);
}
int main()
{
int n;
scanf("%d",n);
printf("%d\n",fac(n));
return 0;
}
首先明确题目要求:递归函数,求n!
递归函数的含义:
编程语言中,函数Func(Type a,……)直接或间接调用函数本身,则该函数称为递归函数。
n!表示阶乘函数,即1*2*3*……*n
下面给出代码:(C语言实现 )
比较简单的尾递归实现:
#includestdio.h
long digui(int n); //递归函数声明
int main()
{
int n;
scanf("%d",n);
printf("the result is %ld",digui(n)); //打印出递归值
return 0;
}
long digui(int n) //递归函数部分
{
if(n1)
return n*digui(n-1); //调用递归,让n与n-1相乘,直到n1时
return 1; //n1时,返回1,实现 n*(n-1)*(n-2)*……*3*2*1
}
#include stdio.h
int factn(int n)//求n!
{
int i,f=1;
for(i=1;i=n;i++)
f=f*i;
return f;
}
int main()
{
int x,y,sum;
printf("请输入x,y:");
scanf("%d,%d",x,y);
sum=factn(x)+factn(y);
printf("%d!+%d!=%d\n",x,y,sum);
return 0;
}