题目链接:here~~
大数处理:大数乘小数
#include <iostream>
#include <cstdio>
#include <string.h>
using namespace std;
int a[10010];
int main()
{
int i, m, t, j, c;
while (cin>>m)
{
memset(a, 0, sizeof(a));
a[0]=1;
t=0;
for (i = 1; i<=m; i++)
{
c=0;
for (j = 0; j<=t; j++)
{
a[j]=a[j]*i+c;
c=a[j]/10000;
a[j]=a[j]%10000;
}
if (c!=0)
{
t++;
a[t]=c;
}
}
cout<<a[t];
for (i = t-1; i>=0; i--)
printf("%04d", a[i]);
cout<<endl;
}
return 0;
}