C语言编程——计算阶乘的递推法程序

计算阶乘的递推法程序

img

递推法

#include<stdio.h>
int main()
{
    int n,y=1,i;
    scanf("%d",&n);
    if(n==0||n==1) y=1;//n是0或1的时候阶乘都是1 
    else for( i=1;i<=n;i++)//从1开始乘,一直乘到n 
    {
        y=i*y;//每次让i乘他前面数的阶乘 
    }
    printf("%d!=%d",n,y);
    return 0;
} 

用递推法和递归法计算一个数的阶乘_Fameyoung的博客-CSDN博客_递推求阶乘 递推法#include<stdio.h>int main(){ int n,y=1,i; scanf("%d",&n); if(n==0||n==1) y=1;//n是0或1的时候阶乘都是1 else for( i=1;i<=n;i++)//从1开始乘,一直乘到n { y=i*y;//每次让i乘他前面数的阶乘 } printf("%d!=%d",n,y); return 0; } 递归法//函数的递归使用 #include<stdi https://blog.csdn.net/weixin_45422589/article/details/107078494

int factorial(int n){
int i, f;
f = 1;
for(i=1; i<=n;i++)f*=i;
return f;
}

这样就行了

供参考:

#include<stdio.h>
int main()
{
    int n,y=1,i;
    scanf("%d",&n);
    if(n==0||n==1) y=1;//n是0或1的时候阶乘都是1
    else for( i=1;i<=n;i++)
    {
        y *= i;
    }
    printf("%d!=%d",n,y);
    
    return 0;
}