博客
关于我
算法——172、阶乘后的零(力扣)
阅读量:639 次
发布时间:2019-03-14

本文共 925 字,大约阅读时间需要 3 分钟。

第一种思路:每一次求阶乘,截断最后面的零,取最后面的一部分,这种方法有很大的偶然性,不适合一般计算,下面的 sum %= 10000 是小编疯狂的提交最后的出来的结论,仅对此题有效。

class Solution {   public:    int trailingZeroes(int n) {           int sum = 1, target = 0;        while(n >= 1)        {               sum *= n;            --n;            while(sum % 10 == 0)            {                   sum /= 10;                ++target;            }            sum %= 10000;        }        return target;    }};

一般性算法:在求 阶乘的过程中,只要末尾出现了 2 * 5 的组合,那么必然会出现一个 零,例如 4 * 5, 8 * 25,等等等等,而对于每一个 5来说,中间至少会有 2、4 三个 2 ,所以我们只需要统计 5 因子在所有数中出现的情况就可以了。

class Solution {   public:    int trailingZeroes(int n) {           int sum = 0;        for(int i = 1; i <= n; ++i)        {               if(i % 5 == 0)            {                   int j = i;                do                {                       ++sum;                    j /= 5;                }while(j % 5 == 0);            }        }        return sum;    }};

转载地址:http://cfeoz.baihongyu.com/

你可能感兴趣的文章
mysql 5.6 修改端口_mysql5.6.24怎么修改端口号
查看>>
MySQL 8.0 恢复孤立文件每表ibd文件
查看>>
MySQL 8.0开始Group by不再排序
查看>>
mysql ansi nulls_SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON 什么意思
查看>>
multi swiper bug solution
查看>>
MySQL Binlog 日志监听与 Spring 集成实战
查看>>
MySQL binlog三种模式
查看>>
multi-angle cosine and sines
查看>>
Mysql Can't connect to MySQL server
查看>>
mysql case when 乱码_Mysql CASE WHEN 用法
查看>>
Multicast1
查看>>
mysql client library_MySQL数据库之zabbix3.x安装出现“configure: error: Not found mysqlclient library”的解决办法...
查看>>
MySQL Cluster 7.0.36 发布
查看>>
Multimodal Unsupervised Image-to-Image Translation多通道无监督图像翻译
查看>>
MySQL Cluster与MGR集群实战
查看>>
multipart/form-data与application/octet-stream的区别、application/x-www-form-urlencoded
查看>>
mysql cmake 报错,MySQL云服务器应用及cmake报错解决办法
查看>>
Multiple websites on single instance of IIS
查看>>
mysql CONCAT()函数拼接有NULL
查看>>
multiprocessing.Manager 嵌套共享对象不适用于队列
查看>>