#include<stdio.h> #include<string.h> #define max 8001 unsigned n,a[max]; int main() { while(~scanf("%d",&n)) { int i,j; memset(a,0,sizeof(a)); for(i=2,a[0]=1;i<=n;i++) { for(j=0;j<max;j++) a[j]*=i; for(j=0;j<max;j++) { a[j+1]+=a[j]/100000; a[j]%=100000; } } for(i=max-1;i>=0&&!a[i];i--); printf("%d",a[i--]); for(;i>=0;i--) printf("%05d",a[i]); printf("\n"); } return 0; }
相关文章
- [PHP][位转换积累]之与运算截取二进制流的值
- 高精度之 N!的值(万进制)
- BNU 0919 日常训练 之 G N! ——高精度 万进制 10000的阶乘
- 两个数组 [n] [m] n>m 第一个数组的数字无序排列 第二个数组为空 取出第一个数组的最小值 放到第二个数组中第一个位置, 依次类推. 不能改变A数组,不能对之进行排序,也不可以倒到别的数组中。
- 高精度之 N!的值(万进制)
- oracle分析函数系列之LAG和LEAD:取出同一字段的前N行的数据和后N行的值
- 用高精度方法计算n! ,并显示n!(阶乘)的值。
- C语言的高精度乘法,用万进制不妥?
- 用高精度方法计算n! ,并显示n!(阶乘)的值。
- oracle分析函数系列之LAG和LEAD:取出同一字段的前N行的数据和后N行的值