设计一个算法,计算出n阶乘中尾部零的个数

    xiaoxiao2021-09-11  64

    考虑到只要有5,或者因子为5的数,就可以产生0的尾部。假如1*2*3*4*...*250,那么250/5=50可以知道,有50个为5的倍数,但是里面有多少个为25的倍数,125的倍数...,

    50/5=10,可知25的倍数有10个,10/5=2,可知125的倍数有两个,以此类推,代码如下:

     

     

    class Solution { public: // param n : description of n // return: description of return long long trailingZeros(long long n) { long long num = 0; while(n) { num += n / 5; n = n / 5; } return num; } };

    如果有所帮助,脸皮厚求个赞~

    此文章仅代表自己(本菜鸟)学习积累记录,或者学习笔记,如有侵权,请联系作者删除。人无完人,文章也一样,文笔稚嫩,在下不才,勿喷,如果有错误之处,还望指出,感激不尽~

    技术之路不在一时,山高水长,纵使缓慢,驰而不息。

    公众号:秦怀杂货店

     

     

     

     

    转载请注明原文地址: https://ju.6miu.com/read-677540.html

    最新回复(0)