数据输出问题
比如输出整形数据10000!,但是整形的范围貌似最多才到2^32-1吧!到底怎么才能实现呢?求指教
#define N 1000 //要计算的阶乘
long s[N]={1,1};
long n=N;
long t=2;
long a=1;
long b=0;
void f(void){
for(;a<=*s||(++t<=n?(b=0,a=1):0);(*s==a++&&b)?(*s)++:0)
s[a] = (b+=s[a]*t)%10000,b/=10000;
for(printf("%d",s[*s]);--*s > 0; )printf("%04d",s[*s]);
}
void main()
{
f();
}
from :http://zhidao.baidu.com/link?url=pPGkvf4UU0kQe-C1TmG4llU6o5wbC3Qq03FYFOWHyAEBJJf9Ztp4s1pJ_DQZMkbUbVW1hGiPpdpOUB6adNjuBK
要善于百度。很多东西都有现成的