c阶乘什么意思(c的阶乘怎么算)

摘要 大家好,我是小典,我来为大家解答以上问题。c阶乘什么意思,c的阶乘怎么算很多人还不知道,现在让我们一起来看看吧!1、常见的有两种:2、...

大家好,我是小典,我来为大家解答以上问题。c阶乘什么意思,c的阶乘怎么算很多人还不知道,现在让我们一起来看看吧!

1、常见的有两种:

2、递归版本:

3、1

4、2

5、3

6、4

7、 intFac(intn){

8、    if(n==0) return1;

9、    returnn*Fac(n-1);

10、}

11、 还有一种是循环版:

12、1

13、2

14、 intans=1;

15、    for(inti=1;i<=n;i++) ans*=i;

16、 测试方法:

17、1

18、2

19、3

20、4

21、5

22、6

23、7

24、8

25、9

26、10

27、11

28、12

29、13

30、14

31、15

32、16

33、 #include<stdio.h>

34、 

35、intFac(intn){

36、    if(n==0) return1;

37、    returnn*Fac(n-1);

38、}

39、 

40、intmain(){

41、    intn;

42、    while(scanf("%d",&n)!=EOF){

43、        intans=1;

44、        for(inti=1;i<=n;i++) ans*=i;

45、        printf("%d %d ",ans,Fac(n));

46、    }

47、    return0;

48、}

49、 有个值得注意的地方:阶乘时,数增大的很快,在n达到13时就会超过int的范围,此时可以用long long或是 __int64来存储更高精度的值,如果还想存储更高位的,需要用数组来模拟大数相乘。

本文到此讲解完毕了,希望对大家有帮助。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,多谢。