#include <iostream.h> #include <string.h> int main() { int i,j,n; char a[151],b[151]; int flag,m; while(cin>>n) { for (i=0;i<150;i++) a[i]=b[i]='0'; a[150]=b[150]='1'; for (i=2;i<=n;i++) { flag=0; for (j=150;j>=0;j--) { m=(a[j]-'0')*i+flag; flag=m/10; a[j]=m%10+'0'; } flag=0; for (j=150;j>=0;j--) { m=a[j]-'0'+b[j]-'0'+flag; if (m>=10) { flag=1; m=m-10; } else flag=0; b[j]=m+'0'; } } for (i=0;i<=150;i++) if (b[i]!='0') { j=i; break; } for (i=j;i<=150;i++) cout<<b[i]; cout<<endl; } }

评论