有问题就有答案
Q1:编程统计1000!的末尾有多少个0
因为10=25,只要把1000个数分解成质因数相乘,一个2乘以一个5,就是一个0。很明显,2的个数会很大,明显超过5,所以这道题只需要统计质因数5的个数。具体编程和结果输出如下:
Q2:
Q3:
Q4:
Q5:C语言编程求解:1000的阶乘末尾有多少个0?
主要看到有几个因子5,因为这个阶乘的计算中遇到的因子2的个数远远大于因子5的个数,所以因子5的个数决定了整个阶乘末尾的零的个数。
Q6:下面程序段的功能是计算1000!的末尾含有多少个零。这个1000!是什么意思,为什么是这样编写的,求解释
n!=1*2*3*4*.*n#includemain(){intk,I,m;对于(k=0,I=5;i=1000I=5)//只有乘以一个包含因子5的数,结果末尾的0才会增加{ m=I;//复制I while的副本(m%5==0)//如果m包含一个或多个因子5 { k;m=m/5;//每次去掉5的因子,计数就会增加1(5*2等于10,所以末尾的零数会增加1,2的因子非常多)}}printf("%d ",k);//输出n!有几个因素5(即n!末尾有几个零)}