当前位置:酷百书>百科问答>c语言求20000的阶乘

c语言求20000的阶乘

2023-01-24 01:22:52 编辑:join 浏览量:638

c语言求20000的阶乘

c语言求20000的阶乘

计算阶乘最经典的算法大概就是雨中飞燕的“四行代码”了,下面是雨中飞燕的代码,对于20000的阶乘数运算时间数以秒记:

#include<stdio.h> //雨中飞燕之作

#define N 20000 //要计算的N

long s[N]={1},n=10000,t=2,a,b,m;main(){

for(;a<=m||++t<=N&&(a=b=0,1);m==a++&&b&&m++)

s[a]=(b+=s[a]*t)%n,b/=n;

for(printf("%d",s[m]);m--;)printf("%04d",s[m]);}

不计预处理命令,共四行代码,至于代码的具体原理,可以看 天天唯C 论坛的一篇题为 “算法学习笔记000-解析雨中飞燕的阶乘” 帖子。

标签:阶乘,语言

版权声明:文章由 酷百书 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.kubaishu.com/answer/128288.html
热门文章