大数阶乘(c语言)
2015-04-23 20:03 Say_ALin 阅读(404) 评论(0) 编辑 收藏 举报大数阶乘。代码比较简单。
#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; }