高精度階乘(模板)
阿新 • • 發佈:2019-02-13
#include <iostream> #include <string.h> #include <stdio.h> using namespace std; const int max=3000; int f[3000]; int main() { int i,j,n; scanf("%d",&n); memset(f,0,sizeof(f)); f[0]=1; for(i=2;i<=n;i++) //從i乘到n { int c=0; for(j=0;j<max;j++) //每一位在乘法時的調整 { int s=f[j]*i+c; f[j]=s%10; c=s/10; } } for(j=max-1;j>=0;j--) if(f[j]) break; for(i=j;i>=0;i--) cout<<f[i]; return 0; }