编辑代码

#include <stdio.h>

// 递归实现
int factorial1(int n){
    if(n==0){
        return 1;
    }
    else 
        return factorial1(n-1)*n;
}

// 递推实现
int factorial2(int n){
    if (n == 0)
        return 1;
    int result = 1;
    for (int i = 1; i <= n; i++)
        result = result * i;
    return result;
}

int main () {
    //JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 
    printf("递归算法测试\n");
    printf("%d \n",factorial1(1)) ;
    printf("%d \n",factorial1(3)) ;
    printf("%d \n",factorial1(5)) ;
    printf("=======================\n");
    printf("递推算法测试\n");
    printf("%d \n",factorial2(1)) ;
    printf("%d \n",factorial2(3)) ;
    printf("%d \n",factorial2(5)) ;
    return 0;
}