大数运算_求1000的阶乘 Posted on 2019-07-18 | In C++ , 其他 | | Words count in article: 165 | Reading time ≈ 1 采用数组存储 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162// 1000 的阶乘 2568 位 #include <stdio.h> int a[3000]; void show(int k) { int i=0; printf("位数 %d 位\n",k); for (i=k-1; i>=0; i--) { printf("%d",a[i]); } } int fanc(int n) { int w=0; int i=0, j=0; int t=n; int k=0; // 表示数据的位数。 i=0, k=0; while(t) { a[i++] = t%10; t/=10; k++; } for (j=n-1; j>1; j--) { w=0; // 表示进位 for (i=0; i<k; i++) { t = a[i]*j+w; a[i] = t%10; w = t/10; } while(w) { a[i++] = w%10; w/=10; k++; } } return k; } int main() { int n; int k=0; scanf("%d",&n); k = fanc(n); show(k); printf("\n"); return 0; } Donate? comment? Donate WeChat Pay Alipay