用递推法和递归法计算一个数的阶乘

    技术2022-07-12  63

    递推法

    #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<stdio.h> int ff(int n) { long f; if(n<0) printf("n<0,input error"); else if(n==0||n==1) f=1; else f=ff(n-1)*n; return (f); } int main() { int n; long y; printf("input a int eager number:\n"); scanf("%d",&n); y=ff(n); printf("%d!=%ld",n,y); return 0; }
    Processed: 0.010, SQL: 9