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

Posted 赛罗丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(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);
```

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

以上是关于(C语言试题练习)用递归方式 求1——n之间的阶乘的主要内容,如果未能解决你的问题,请参考以下文章

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

c语言怎么用递归调用函数的方法求n的阶乘?

shell编程递归求阶乘

用C语言求5的阶乘,即5*4*3*2*1的值?

C语言求n个数的阶乘和,使用for语句循环,一定要用套嵌for语句吗?不用套嵌的单层for可以吗,

C语言求阶乘倒数之和