阶乘末尾0

原创 2011年01月23日 19:03:00

求n!中末尾0的个数

 

解法:将n!中每个数分解因数,因为10可以表示成2和5的乘积,显然所有因数中2的个数肯定比5多,则末尾0的个数就是所有因数中5的个数。可以用n除以5得到1~n中能被5整除的数的个数,但这不是所有因子5的个数,因为有的数可能包含多个因子5,将这个数再次除以5,得到1~n中能被25整除的数的个数,以此类推,直到变成0为止,将所有的个数加起来即可。

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

n的阶乘末尾还有多少个0

n! 末尾有多少个 0 个人信息:就读于燕大本科软件工程专业 目前大三; 本人博客:google搜索“cqs_2012”即可; 个人爱好:酷爱数据结构和算法,希望将来从事算法工作为人民作出自己...

写一个算法计算n的阶乘末尾0的个数

题目 写一个算法计算n的阶乘末尾0的个数 解答 首先,算出n的阶乘的结果再去计算末尾有多少个0这种方法是不可取的, 因为n的阶乘是一个非常大的数,分分种就会溢出。我们应当去分析, 是...

《编程之美》读书笔记(三)——阶乘结果末尾"0"的个数

对于第一个问题,我起初的思路如下:      能贡献末尾“0”的数有两类,一类是自身以“0”结尾,例如,10,560,1000等,另一类是个位数是2和5相乘得到。因为是阶乘,从1到N,所以对于每个个...

计算阶乘n!末尾所含0的个数

问题描述给定参数n(n为正整数),请计算n的阶乘n!末尾所含有“0”的个数。例如,5!=120,其末尾所含有的“0”的个数为1;10!= 3628800,其末尾所含有的“0”的个数为2;20!= 24...

滴滴2017校园招聘编程题——阶乘末尾0的个数

滴滴出行2017校园招聘编程题:1000以内某个数的阶乘结果,求其中末尾0的个数。

用十进制计算30!(30的阶乘),将结果转化成3进制进行表示的话,该进制下的结果末尾会有多少个0?

如何是小阶乘的话,可以使用这个算法:#include int main() { int n; int i; int sum; printf("请输入阶乘:"); scanf("%d",&n)...

阶乘末尾非0

最近的阶乘问题接触的比较多。 计算n!的末尾非0数是一个比较经典的问题。 那么对于小数据的该问题,还是比较容易的。 RQNOJ点击打开链接SWOJ点击打开链 小数据的方法都是可以过的。 ...

N的阶乘中末尾有几个0

N的阶乘中末尾有几个0: 如果N!= K×10M,且K不能被10整除,那么N!末尾有M个0。再考虑对N!进行质因数分解,N!=(2^x)×(3^y)×(5^z)…,由于10 = 2×5,所以M只跟X...

算法---面试题/--求N的阶乘N!中末尾0的个数

】–给定一个整数N,那么N的阶乘N!末尾有多少个0呢?例如:N=10,N!=3 628 800,N!的末尾有两个0 分析: 1)、如果N是一个很大的数,它的阶乘可能已超出计算机所能计算的最大范围,...

求阶乘N!末尾0的个数

POJ上有这个题目。http://poj.org/problem?id=1401。去掉一大堆没有用的信息,POJ的描述如下:For example, they defined the function...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)