当前位置: 首页 > news >正文

Leetcode面试经典150题-172.阶乘后的零

给定一个整数 n ,返回 n! 结果中尾随零的数量。

提示 n! = n * (n - 1) * (n - 2) * ... * 3 * 2 * 1

示例 1:

输入:n = 3
输出:0
解释:3! = 6 ,不含尾随 0

示例 2:

输入:n = 5
输出:1
解释:5! = 120 ,有一个尾随 0

示例 3:

输入:n = 0
输出:0

提示:

  • 0 <= n <= 104

题目比较简单,有效代码只有5行,直接上代码了,不理解的直接私信或者评论,看到后第一时间解答

class Solution {/**阶乘里的0一定是5的倍数产生的,比如5,10,15等如果出现了5的2次方则增加1次(它需要乘以2个2才能获得两个0,作为5的倍数已经算了一次了)出现了5的3次方则再增加1次(它需要乘以3个2才能获得3个0,作为5和25的时候已经分别计算过一次了) 5的倍数和2的倍数相乘就可以成为10的倍数,也就是结尾为01~n中2的倍数出现的次数肯定远大于5的倍数出现的次数*/public int trailingZeroes(int n) {int ans = 0;while(n != 0) {/**第一次进来有多少个5的倍数算多少个第二次进来有多少个25的倍数,再加一遍第三次进来有多少个125的倍数,再加一遍 */int num = n / 5;ans += num;/**每次除以5实现先算5再算25再算125再算625.。。。 */n = n / 5;}return ans;}
}

http://www.lryc.cn/news/444412.html

相关文章:

  • 【机器学习】揭秘GBDT:梯度提升决策树
  • Android Studio 2024 安装、项目创建、加速、优化
  • JSP(Java Server Pages)基础使用
  • 数据结构 - 概述及其术语
  • UE5——在线子系统
  • 9.23-部署项目
  • 非标独立设计选型--二十六--电磁阀的选型件算
  • flume系列之:出现数据堆积时临时增大sink端消费能力
  • SQL Server全方位指南:从入门到高级详解
  • 【JavaSE】IO模型
  • 手术缝合线合格品检测项目众多 线径又是其重要一环!
  • STM32 单片机最小系统全解析
  • 深度解析ElasticSearch:构建高效搜索与分析的基石原创
  • 【Python常用模块】_PyMySQL模块详解
  • 【算法思想·二叉树】最近公共祖先问题
  • 如何合并pdf文件,四款软件,三步搞定!
  • 仪表放大器AD620
  • 【Qt网络编程】Tcp多线程并发服务器和客户端通信
  • SkyWalking 简介
  • 语音合成(自然、非自然)
  • redis简单使用与安装
  • 封装 WBXpopup 组件
  • 【OJ刷题】双指针问题6
  • 详解:Tensorflow、Pytorch、Keras(搭建自己的深度学习网络)
  • 【CSS in Depth 2 精译_035】5.5 Grid 网格布局中的子网格布局(全新内容)
  • Java是怎么处理死锁的
  • Effective Java 学习笔记 方法签名设计
  • 毛利超70%、超70+智驾客户,这家AI数据训练服务商刚刚止亏
  • 本地部署高颜值某抑云音乐播放器Splayer并实现无公网IP远程听歌
  • 图像压缩编码(4)--H.26x系列视频压缩编码_2