计算阶乘

来源:互联网 发布:打发票的软件 编辑:程序博客网 时间:2024/04/28 09:32

这里给出递归和递推两种计算阶乘的程序。

#include <stdio.h>// 递归法计算阶乘long factorial(int n){    if(n==0 || n==1)        return 1;    else        return n * factorial(n-1);}// 递推法计算阶乘long factorial2(int n){    long fact=1;    int i;    if(n==0 || n==1)        return 1;    else {        for(i=2; i<=n; i++)            fact *= i;        return fact;    }}int main(void){    printf("i=%d factorial=%ld\n", 5, factorial(5));    printf("i=%d factorial=%ld\n", 5, factorial2(5));    return 0;}

关键代码(正解):

// 递推法计算阶乘long factorial(int n){    long fact=1;    int i;    if(n==0 || n==1)        return 1;    else {        for(i=2; i<=n; i++)            fact *= i;        return fact;    }}


1 0
原创粉丝点击