很早就看了大数,本来今天自己写了个大数类想自己用一下,结果,,,,坑爹的HDUOJ限制32M内存,,,,32M,,,打表不够打的。。。
其实压根没必要用4位的大数,直接上1位的来(其实差不多)
#include <string.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int a[44444];
int main()
{
int N;
while(scanf("%d",&N)!=EOF)
{
int len=1;
a[0]=1;
if(N<=1)
printf("1\n");
else
{
int carry=0;
for(int i=2;i<=N;i++)
{
for(int j=0;j<len;j++)
{
carry+=i*a[j];
a[j]=carry%10;
carry/=10;
}
while(carry)
{
a[len]=carry%10;
carry/=10;
len++;
}
}
for(int i=len-1;i>=0;i--)
{
printf("%d",a[i]);
}
printf("\n");
}
}
return 0;
}