阶乘的精确值

来源:互联网 发布:大一云计算车辆监控 编辑:程序博客网 时间:2024/04/29 20:21
/*题目要求:输入不超过1000的正整数n,输出n!=1*2*3*...*n的精确结果 样例输入:30输出:265252859812191058636308480000000 */ #include<stdio.h>#include<string.h>const int maxn = 3000;int f[maxn];int main(){int i, j, n;scanf("%d", &n);memset(f, 0, sizeof(f));f[0] = 1;for(i=2; i<=n; i++){int c=0;for(j=0; j<maxn; j++){int s=f[j] * i + c;f[j] = s%10;c = s/10;}}for(j=maxn-1; j>=0; j--){//忽略前导0if(f[j])break;}for(i=j; i>=0; i--){printf("%d", f[i]);}printf("\n");return 0;}

原创粉丝点击