博客
关于我
算法——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/

你可能感兴趣的文章
NIFI大数据进阶_离线同步MySql数据到HDFS_说明操作步骤---大数据之Nifi工作笔记0028
查看>>
NIFI大数据进阶_连接与关系_设置数据流负载均衡_设置背压_设置展现弯曲_介绍以及实际操作---大数据之Nifi工作笔记0027
查看>>
NIFI数据库同步_多表_特定表同时同步_实际操作_MySqlToMysql_可推广到其他数据库_Postgresql_Hbase_SqlServer等----大数据之Nifi工作笔记0053
查看>>
NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南001---大数据之Nifi工作笔记0068
查看>>
NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南002---大数据之Nifi工作笔记0069
查看>>
NIFI集群_内存溢出_CPU占用100%修复_GC overhead limit exceeded_NIFI: out of memory error ---大数据之Nifi工作笔记0017
查看>>
NIFI集群_队列Queue中数据无法清空_清除队列数据报错_无法删除queue_解决_集群中机器交替重启删除---大数据之Nifi工作笔记0061
查看>>
NIH发布包含10600张CT图像数据库 为AI算法测试铺路
查看>>
Nim教程【十二】
查看>>
Nim游戏
查看>>
NIO ByteBuffer实现原理
查看>>
Nio ByteBuffer组件读写指针切换原理与常用方法
查看>>
NIO Selector实现原理
查看>>
nio 中channel和buffer的基本使用
查看>>
NIO_通道之间传输数据
查看>>
NIO三大组件基础知识
查看>>
NIO与零拷贝和AIO
查看>>
NIO同步网络编程
查看>>
NIO基于UDP协议的网络编程
查看>>
NIO笔记---上
查看>>