c阶乘什么意思(c的阶乘怎么算)
大家好,我是小典,我来为大家解答以上问题。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来存储更高精度的值,如果还想存储更高位的,需要用数组来模拟大数相乘。
本文到此讲解完毕了,希望对大家有帮助。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,多谢。