高精度阶乘
#include<iostream> #include<cstdio> #include<cmath> #include<algorithm> #include<cstring> #include<iomanip> #define MAX 3000 using namespace std; int ans[MAX]={0}; int main() { int n,j=0,c=0,k=0; cin>>n; ans[0]=1; for(int i=2;i<=n;i++) { for(int l=0;l<MAX;l++) { c=ans[l]*i+k; ans[l]=c%10; k=c/10; } } j=MAX; while(ans[j]==0) { j--; } for(int i=j;i>=0;i--) { cout<<ans[i]; } return 0; }