这题要完成其实要知道一个很巧妙的思想,就是阶乘里面,后面的几个零是由什么来决定的。
只有知道了这个,才能够在足够小的时间复杂度中得到答案。
其实乘法里面,末尾有0意味着因子中肯定有10,而10的质因子,就是52,所以,我们要看末尾有没有5,为啥直接看阶乘中的数字的包含的5的质因子的总数就可以了?不用看2的么?主要是5比2大,如果有5的质因数,那么肯定比如包含2,比如5!:aaarticlea/png;base64,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" style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 0px auto; max-width: 100%; display: inline-block; vertical-align: middle;" alt="" />,仔细观察,5的阶乘中5的总数只有1个,但是2的总数有3个。所以我们直接看5的数量就可以了。

5 : 1
10 : 2
15 : 3
20 : 4
25 : 6
30 : 7
35 : 8
40 : 9
45 : 10
50 : 12
……

那么这里你肯定发现了一个问题,就是为啥在25的时候一次洗由4加到了6?其实究其原因就是,我们之前一直在找aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAiCAYAAAAzrKu4AAAC3ElEQVRYR+2WP0hyURjGH1E0CaxAwSSKiFYJGsIQIbRB+kdFDmIWLW5BkJGBjpG0VUtj1BCFYFDUkBUF4VqLWKBEWrQogaIJ6sd7wI+u//ouLvFx73a5z3nPc37neV+uqFgsFvELH5FgjOetCMR4AoNATCDGlwBfvZCx/5fY5+cnDg8P8fDwgGQyibGxMUxPT0Mmk/E9dIWeaicSCXR0dEAikSAej+P6+hozMzNoamri6DkZy2azzNTo6CiUSiXe39/hdruh1+sxOzsLsVjckLmXlxc4nU58fHywOlRveXkZZrMZIpGotjFauLq6isnJSVgsFibc39/Hzc0NNjY2oFKpGja2tbWFVCqF9vZ2WK1W9Pb2VpiiTTjE6Oq2t7cxODgIk8nETJydnWFvbw+bm5vo6uqqaqxQKIBoy+XyqpuUFtHBI5EIhoaGfjxg3XGRz+exs7ODcDiM9fV1tLa2Vi1I2SESi4uLaGlpqbkpGbu9vWURIYNEzeFwQK1WV6ypa+zp6Qlra2tYWFiomoP7+3uEQiGMjIzg+PiYXY3f70dfXx/6+/srNovFYggGgxgfH4dUKkUgEMDp6Sk8Hg/a2tpqZ+z7F8qB1+tFT09PzeB/fX0xArRBOp1Gc3MzjEYjDAbDP3VxqRmWlpag0+l+NpbJZFjWOjs7WSvX6kb6K49Gozg4OMDj4yO0Wi1sNhu6u7srskaxODo6Ah2GyBKxkrG5uTlG/ftTcZVUgDqR5krJFOEnkxqNhrP47u4OFxcXmJ+fx9XVFYaHh7G7u4upqSkMDAxwtNQc1EA0v4gQ1adDuVwu9l6u5xgjAufn53h9ff1rijqOcjAxMQGFQtFQ+C8vL1mWKH9U1+fz4fn5mRmjjq5JjAytrKzg7e2NI6LRQYOxfDqXRESZgk0Tvd4QzuVyODk5ARkkY3T1dru9aicLfxc/TtQygUBMIMaXAF+9kDGBGF8CfPW/NmN/ALq1sKogcKa1AAAAAElFTkSuQmCC" style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 0px auto; max-width: 100%; display: inline-block; vertical-align: middle;" alt="" />的数量,但是aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAiCAYAAAAge+tMAAADUklEQVRYR+2WSyh8YRjGn4lcooRilJIFGyWRho2SLKQsyEZCEjsysUCNpeSysBlSVlZERLkTpmFDUi5RhnIJRUQuxfx73hq5nDNn/nVS6pzd6bzf+z3v73uf9zsmt9vtxh98TIbwXz41g/gvA4dB3CDuIwGjVXwEpVuYQVw3lD4m8kr8/v4e/f39qKqqQlhYmI8p1cPe3t6wsLCAqakpXF1dITExETU1NTCbzbLo7u4ONzc3iI2Nhb+/P87OzrC0tITi4mIEBQV9SawqnP9eo6OjmJubQ3t7uy7C5+fnJU96ejpeX19ht9txfHwMm82G8PBwnJycoLGxEZeXlyLSz88PDQ0NyMvLg8lk8k04k3R1dckGegh/fn5GR0cHnp6e0NzcjNDQUOzu7sJqtaK1tRWZmZkivKenBw8PD4iJiUFJSQkSEhJ+iGYFisQpdmRkBFFRURgeHtYU/v7+DgoLDg5W3IQbsU2GhoZwfX2N6upqOXoP4fLycuTn58v70dERsrOzNdtSUfja2pospJDe3l5N4exNkqqtrf2vluI+LS0t6O7uRkpKighfWVnBxcWFFEDqnz3wuZofwm9vbzE9PY2ioiI5Sm/CnU4n9vb2hBZPhkc7NjYmItLS0rxSYzu0tbUhJCQE9fX1Aun09BTr6+soKChAQECAGHlycvLDA6rCaUg6PikpCXFxcdja2vIq/OXlRQhxg8fHRxGRk5ODrKwsBAYGqgr3GJ/Em5qaEBkZqRjraSUWRg+oCmfgzs7Oh4u1hFOAy+XC4OAgtre3kZycjNLSUsTHx6v2OtfMzs7C4XCIMTlNPnuAMHhyJP7dA6rCl5eXwZHFRXw4Uw8ODpCamirtkJGR8aXq1dVVaauKigosLi4iNzcXfX19KCwshMViUaS4sbGBiYkJ1NXViWi2x/n5uRTNqcP5TcI0L6HwRPj+PZ/XC0iLuEeZr+akkIGBAVRWViIiIkKWb25uSqtQOKGxGPqDk4qT7fDw8MMDXs3Jj7wx6fT9/X254djvZWVlqmOKo47keOPx0lB6OGI7OzsxMzPz5XN0dLSQ5h6MGR8flwIonMVwX6Vb2/jJ0rwxdA4wiOsMVDOdQVwTkc4BBnGdgWqmM4hrItI54M8S/wfCKBy5nI+LuQAAAABJRU5ErkJggg==" style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 0px auto; max-width: 100%; display: inline-block; vertical-align: middle;" alt="" /> 也可做到后面有0。所以这里就多出了一个5的质因子的总数,因为25也是要分解成aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAiCAYAAAAzrKu4AAAC2klEQVRYR+2WP0hyURjGH1EsdRDLyCAQhVYJgiIEKTIkgqDIRbTc3IKgIBeniLAhCBxsC5oU08igQAsUQpykpSFIikQEUcSC/lB+vIfPD/VmeGmJj3vAQe5z3vu8v/O8R0W1Wq2GX7hEgjGepyIQ4wkMAjGBGF8CfPVCxv5fYg8PD5DJZOjt7QX9jKbTaby8vGBycpJv0xx9pVJBqVTC4OAgJBIJcrkcLi8vYbVa0d3d3aTnZOz09BRer/efiIpsbm5Cp9P92Nj9/T3W19dRKBRYLbFYjLW1NczMzEAkEn1v7Pz8HOFwmNEaHR3F/Pw8enp6fmyKCpCxvb09PD09YWBgADabDUNDQxxTpOUQI7R6vR5arbZjM5+fn+y4KQKtnTcWIWN3d3cdxYJj7OLigqHOZDIsDxMTE1hcXERXV1dbo5QdIrGysgKlUtlWR8YSiQTy+TwzSNRcLhc0Gg1nD8cYbZTL5RgZGcH7+zt2d3fR398Ph8PBMtG4rq6ucHNzg9nZWQSDQXY0kUgEw8PDbH/renx8RCqVwtzcHKRSKeLxOKLRKDweD1Qq1fcZay1Gw3B0dITt7W309fU1PX59fWUE6AXPz89QKBSYmpqCyWT6lnC9SH0YVldXMT4+3t5YuVyGz+djxetCMnZwcICdnR1O7mhAstksDg8PcX19DYPBALvdzia4NWsfHx8IBAKgZogsEasbW15eZtQbV9NRknBjYwNOpxMWi4XpTk5O2GdrawtqtbppczKZxNnZGdNTNqenp+H3+7GwsICxsbEmLQ0HNUf3FxGie4uacrvd7HurvskYbaauyD1dsNVqlR2h0Wj88q6pv7nT8MdiMZYlyh9NcigUwu3tLTNGE92WGD0oFovY399nmGlR92azmRP8xiJ0TBRsuoxbB6RR9/b2huPjY5BBMkZHv7S09OUkC/8uOr6t/woFYgIxvgT46oWMCcT4EuCr/7UZ+wNyv6qqzAl0dgAAAABJRU5ErkJggg==" style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 0px auto; max-width: 100%; display: inline-block; vertical-align: middle;" alt="" />。
我们来看看代码:

Show the code

1public int trailingZeroes(int n) {
2    int res = 0;
3    while (n >= 5) {
4        res += n / 5;
5        n = n / 5;
6    }
7    return res;
8}

这是个循环累加的过程,所以,如果出现了25,125, 625……就是要不断的分解成5的质因数的总数。

172. 阶乘后的零 Java解法的更多相关文章

  1. Java实现 LeetCode 172 阶乘后的零

    172. 阶乘后的零 给定一个整数 n,返回 n! 结果尾数中零的数量. 示例 1: 输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零. 示例 2: 输入: 5 输出: 1 解释: 5! ...

  2. LeetCode 172. 阶乘后的零(Factorial Trailing Zeroes)

    172. 阶乘后的零 172. Factorial Trailing Zeroes 题目描述 给定一个整数 n,返回 n! 结果尾数中零的数量. LeetCode172. Factorial Trai ...

  3. Leetcode 172.阶乘后的零

    阶乘后的零 给定一个整数 n,返回 n! 结果尾数中零的数量. 示例 1: 输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零. 示例 2: 输入: 5 输出: 1 解释: 5! = 120 ...

  4. leetcode刷题笔记172 阶乘后的零

    题目描述: 给定一个整数 n,返回 n! 结果尾数中零的数量. 示例1: 输入: 输出: 解释: ! = , 尾数中没有零. 示例2: 输入: 输出: 解释: ! = , 尾数中有 个零. 说明: 你 ...

  5. 【每天一题】LeetCode 172. 阶乘后的零

    开源地址:点击该链接 题目描述 https://leetcode-cn.com/problems/factorial-trailing-zeroes 给定一个整数 n,返回 n! 结果尾数中零的数量. ...

  6. 每日一道 LeetCode (41):阶乘后的零

    每天 3 分钟,走上算法的逆袭之路. 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub: https://github.com/meteor1993/LeetCode Gitee ...

  7. LeetCode. 阶乘后的零

    题目要求: 给定一个整数 n,返回 n! 结果尾数中零的数量. 示例: 输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零. 解法: class Solution { public: int ...

  8. 172 Factorial Trailing Zeroes 阶乘后的零

    给定一个整数 n,返回 n! 结果尾数中零的数量.注意: 你的解决方案应为对数时间复杂度. 详见:https://leetcode.com/problems/factorial-trailing-ze ...

  9. LeetCode 172:阶乘后的零

    给定一个整数 n, 返回 n! 结果中尾数为零的数量. 示例 : 输入: 输出: 解释: ! = , 尾数中没有零. 示例 : 输入: 输出: 解释: ! = , 尾数中有个零. 说明:算法的时间复杂 ...

随机推荐

  1. 升级vue全家桶过程记录

    背景 如果你使用了element-ui的el-tabs组件,并且想要单独升级element-ui至2.10.0,你会发现,使用了el-tabs组件的页面只要打开就卡死.原因是element-ui~2. ...

  2. linux下安装Nginx1.16.0

    因为最近在倒腾linux,想安装新版本的nginx,找了一圈教程没有找到对应的教程,在稍微倒腾了一会之后终于成功的安装了最新版. 服务器环境为centos,接下来是详细步骤: 安装必要依赖插件 yum ...

  3. 直播技术:从性能参数到业务大数据,浅谈直播CDN服务监控

    线上服务的有效监控和数据收集,一直是后端服务离不开的话题.直播作为一种经典的分布式系统,监控以及数据收集更是必不可少的工作.如何对海量的服务集群有效的监控和保活,又如何抓取集群中的碎片数据中来优化服务 ...

  4. Spring 5.x 、Spring Boot 2.x 、Spring Cloud 与常用技术栈整合

    项目 GitHub 地址:https://github.com/heibaiying/spring-samples-for-all 版本说明: Spring: 5.1.3.RELEASE Spring ...

  5. spring 5.x 系列第3篇 —— spring AOP (xml配置方式)

    文章目录 一.说明 1.1 项目结构说明 1.2 依赖说明 二.spring aop 2.1 创建待切入接口及其实现类 2.2 创建自定义切面类 2.3 配置切面 2.4 测试切面 附: 关于切面表达 ...

  6. 随时发布:REST API文档的代码仓库中的持续集成与协作

    本文主要内容:API文档提供了预测客户成功的关键路径:在代码附近的文档上进行协作可以更好地检查代码和文档文件,提高自动化效率,并专门针对文档进行质量测试:提供通用文档框架,标准,自动化和工具,以提高团 ...

  7. 配置Windows server 用户和组权限实验详解

    目录 操作步骤如下: 在Windows Server开始菜单下点击管理工具下的计算机管理 新建用户 用户创建完毕 新建文件夹 配置技术部读取"技术资料"和"常用软件&qu ...

  8. Python Day_2

    入门任何一门编程语言,前面总是离不开变量,字符串这些概念,而且这些东西在往后的日子里,有着至关重要的存在.因为不管我们写什么程序,都要用到变量以及字符串. 变量 首先,我们的变量在定义的时候,是不需要 ...

  9. 走近Java之HashMap In JDK8

    HashMap,继承AbstractMap类,实现了Map接口,特性是无序不可重复,其本身的数据结构是数组加链表和红黑树.今天我们就一起来详细了解一下. 首先,需要知道,HashMap中几个关键词的含 ...

  10. 前端动画 wow.js 效果

    让花里胡哨的特效变简单 wow.js动画class介绍 引入css样式以及js插件 <link rel="stylesheet" type="text/css&qu ...