c语言递归函数n! C语言递归函数求阶乘

C语言用递归求n!

int fac(int n)

10年积累的成都网站设计、成都做网站、外贸网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站策划后付款的网站建设流程,更有沁县免费网站建设让你可以放心的选择与我们合作。

{

long fact;

if (n == 1)

fact = 1;

else //加上这个

fact = fac(n-1)*n;

return fact;

}

c语言编程:用递归实现计算n!。

由于对于任意的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;

}

用c语言,利用递归函数求n!,由键盘输入任一整数,求n!

首先明确题目要求:递归函数,求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

}

编C语言程序:用递归方法求n!

int func(int n)

{

int i = 1;

if(n = 1) return 1;

return n * func(n-1);

}

int main ()

{

int res = func(5);

printf("result: %d\n", res);

return 0;

}


网页名称:c语言递归函数n! C语言递归函数求阶乘
本文URL:http://scyanting.com/article/dohgdcc.html