其他分享
首页 > 其他分享> > (C语言试题练习)用递归方式 求1——n之间的阶乘

(C语言试题练习)用递归方式 求1——n之间的阶乘

作者:互联网

(C语言试题练习)用递归方式 求1——n之间的阶乘

- 数的阶乘 n的阶乘公式


阶乘乘积公式

阶乘递推关系公式阶乘公式

阶乘经常写成感叹号:N!。一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,如下所示。

 

0! = 1
1! = 1
2! = 2 x 1 = 2
3! = 3 x 2 x 1 = 6
4! = 4 x 3 x 2 x 1 = 24
5! = 5 x 4 x 3 x 2 x 1 = 120
例题
求7整数的阶乘 ?

给出的数据
n = 7

逐步计算
公式:n! = n x (n-1) x (n-2) x .... x 1

 

 代码演示

 

int JieCheng(int a)
{
  int s;

if (a < 0)
{
  printf("此数没有阶乘");
}
else if (a == 0 || a == 1)
{
  s = 1; //0和1的阶乘都是1
}
else
{
  s = a * JieCheng(a - 1); //这里采用递归的方式 从大数往小数乘 例5!=5*4*3*2*1

}
  return s;


}
int main()
{
  int a, s;
  printf("请输入数\n");
  scanf_s("%d", &a);

  s = JieCheng(a);
  printf("该数的阶乘是%d\n", s);
}

 

 

控制台输出

请输入数
7
该数的阶乘是5040

```

````

标签:递归,int,公式,C语言,printf,阶乘,JieCheng,该数
来源: https://www.cnblogs.com/CuiPengJu/p/15593596.html