热门IT资讯网

C语言编程 递归和非递归分别实现求n的阶乘

发表于:2024-11-26 作者:热门IT资讯网编辑
编辑最后更新 2024年11月26日,<1>非递归主要思想是设计累乘器,通过对自身每一次改变的乘积就是结果#include#includeint main(){ int number, m,result=1; printf("

<1>非递归
主要思想是设计累乘器,通过对自身每一次改变的乘积就是结果

#include#includeint main(){    int number, m,result=1;    printf("请输入要计算的阶乘数\n");    scanf("%d", &number);    for (m = 1; m <= number; m++)    {        result *= m;    }    printf("%d", result);    system("pause");    return 0;}

<2>递归
具体参照https://blog.51cto.com/14232799/2377394
与其中的递归方法类似

#include#includeint Fac(int n){    if (n == 1)    {        return 1;    }    return n*Fac(n - 1);}int main(){    int number,result;    printf("请输入要计算的阶乘\n");    scanf("%d", &number);    result = Fac(number);    printf("%d", result);    system("pause");    return 0;}
0