#include<iostream.h>
#include<windows.h>
#include<deque>
void main(void)
{
using namespace std;
deque<int> intdeque(1,1);
deque<int>::iterator iter;
int m=0,n,s,z=0; //格式化输出计数,for循环计数用
int carry=0; //进位值
cout<<"请输入一个整数::n=";
cin>>n;
for(s=1;s<=n;s++)
{
carry=0;
for(iter=intdeque.begin( );iter!=intdeque.end( );iter++)
{
*iter=*iter*s+carry;
carry=*iter/10;
*iter=*iter%10;
}
while(carry>0)
{
m=carry%10;
carry=carry/10;
intdeque.push_back(m);
}
if(carry>0)
intdeque.push_back(carry);
}
n=0; //控制格式化输出每行60个字符
for(iter=intdeque.end( )-1;iter!=intdeque.begin( );iter--)
{
cout<<*iter;
n++;
if(*iter==0)
z++;
if(n%60==0)
cout<<endl;
}
cout<<*iter<<endl;
if(*iter==0)
z++;
cout<<"结果中含有"<<z<<"个零"<<endl;
}