[转]四行代码算大数阶乘(绝对强悍,毫秒级别的)

来源:互联网 发布:淘宝首页是静态页面吗 编辑:程序博客网 时间:2024/05/21 05:41

#include<stdio.h>
#define N 1000    //要计算的N
long s[N]={1,1},n=N,t=2,a=1,b=0;
int main()//雨中飞燕之作
{
    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]);
    return 0;
}

大家可以去试试,这个不是有些人说的那个秒级别的

来源:http://www.oppic.com/showtopic-22.aspx

原创粉丝点击