leetcode 172. Factorial Trailing Zeroes(阶乘的末尾有多少个0)
2024-10-07 03:36:29
数字的末尾为0实际上就是乘以了10,20、30、40其实本质上都是10,只不过是10的倍数。10只能通过2*5来获得,但是2的个数众多,用作判断不准确。
以20的阶乘为例子,造成末尾为0的数字其实就是5、10、15、20。
多次循环的n,其实是使用了多个5的数字,比如25,125等等。
n/5代表的是有多个少含5的数,所以不是count++,而是count += n/5
class Solution {
public:
int trailingZeroes(int n) {
int count = ;
while(n){
count += n/;
n = n/;
}
return count;
}
};
https://blog.csdn.net/feliciafay/article/details/42336835
- //计算包含的2和5组成的pair的个数就可以了,一开始想错了,还算了包含的10的个数。
- //因为5的个数比2少,所以2和5组成的pair的个数由5的个数决定。
- //观察15! = 有3个5(来自其中的5, 10, 15), 所以计算n/5就可以。
- //但是25! = 有6个5(有5个5来自其中的5, 10, 15, 20, 25, 另外还有1个5来自25=(5*5)的另外一个5),
- //所以除了计算n/5, 还要计算n/5/5, n/5/5/5, n/5/5/5/5, ..., n/5/5/5,,,/5直到商为0。
最新文章
- 配置文件Java读写
- windows server 2008禁止ping
- iOS中事件传递过程
- Android 学习笔记之Volley(八)实现网络图片的数据加载
- 怎样实现UIView的旋转
- 慕课网-安卓工程师初养成-4-1 Java条件语句之 if
- RECT 数据结构
- Python解释器运行成功,命令运行显示无此属性解决办法
- iotop
- Hadoop: Start-all.sh 后发现JPS后Namenode没有启动
- git 快速使用(本地仓库同步到远程仓库)
- apk当安装程序将文件复制到手机自带的指定文件夹
- SQL Server 2012 - 内置函数
- Apache Ant 项目构建
- window与linux文件共享解决方案
- 2--Postman脚本介绍
- day30 小面试题 去重 (考核 __eq__ 以及 __hash__ )
- C# 线程池ThreadPool的用法简析
- 【VNC】修改VNC分辨率大小
- Vue.js Failed to resolve filter: key
热门文章
- Array.reduce()方法
- appium 自动化测试框架详读(一)
- 常用的商业级和免费开源Web漏洞扫描工具
- 01:main特别之处
- SAP中MM模块基础数据之Quota Arrangement(配额协议)的解析
- War of the Corporations CodeForces - 625B (greed)
- CH5105 Cookies[线性DP]
- 2019ICPC沈阳网络赛-D-Fish eating fruit(树上DP, 换根, 点分治)
- 字符串类QString
- 15.DRF学习以及相关源码阅读