大数阶乘(c语言)
大数阶乘。代码比较简单。
#include<stdio.h> #include<string.h> #define MAXN 25000 // 如果你的阶乘N比较大,建议大一点 int result[MAXN]; int main() { int i,j,n; scanf("%d",&n); // memset函数的作用将某一段内存设置成指定的值 // 参数1:内存首地址 参数2:指定的值 参数3:内存大小 memset(result,0,sizeof(result)); result[0]=1; for(i=2;i<=n;i++) { int c=0; for(j=0;j<MAXN;j++) { int s=result[j]*i+c; result[j]=s%10; c=s/10; } } for(j=MAXN-1;j>=0;j--) if(result[j]) break; for(i=j;i>=0;i--) printf("%d",result[i]); printf("\n"); return 0; }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。