hdu 1042
貌似之前也写过这个题目的解题报告。。。老了,记性不好
从贴一遍吧!
代码理解很容易
AC代码:
#include <iostream> #include <stdio.h> #include <cstring> using namespace std; #define N 8000 int main() { int i,j,k,t,n; int a[N]; while(cin>>n) { memset(a,0,sizeof(a)); a[0]=1; for(i=2;i<=n;i++) { for(j=0,t=0;j<N;j++) { k=a[j]*i+t; a[j]=k%100000; t=k/100000; }//cout<<a[0]<<endl; } for(i=N-1;!a[i];i--); cout<<a[i]; while(i) printf("%05d",a[--i]); cout<<endl; } return 0; }