数字的末尾为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。

最新文章

  1. 配置文件Java读写
  2. windows server 2008禁止ping
  3. iOS中事件传递过程
  4. Android 学习笔记之Volley(八)实现网络图片的数据加载
  5. 怎样实现UIView的旋转
  6. 慕课网-安卓工程师初养成-4-1 Java条件语句之 if
  7. RECT 数据结构
  8. Python解释器运行成功,命令运行显示无此属性解决办法
  9. iotop
  10. Hadoop: Start-all.sh 后发现JPS后Namenode没有启动
  11. git 快速使用(本地仓库同步到远程仓库)
  12. apk当安装程序将文件复制到手机自带的指定文件夹
  13. SQL Server 2012 - 内置函数
  14. Apache Ant 项目构建
  15. window与linux文件共享解决方案
  16. 2--Postman脚本介绍
  17. day30 小面试题 去重 (考核 __eq__ 以及 __hash__ )
  18. C# 线程池ThreadPool的用法简析
  19. 【VNC】修改VNC分辨率大小
  20. Vue.js Failed to resolve filter: key

热门文章

  1. Array.reduce()方法
  2. appium 自动化测试框架详读(一)
  3. 常用的商业级和免费开源Web漏洞扫描工具
  4. 01:main特别之处
  5. SAP中MM模块基础数据之Quota Arrangement(配额协议)的解析
  6. War of the Corporations CodeForces - 625B (greed)
  7. CH5105 Cookies[线性DP]
  8. 2019ICPC沈阳网络赛-D-Fish eating fruit(树上DP, 换根, 点分治)
  9. 字符串类QString
  10. 15.DRF学习以及相关源码阅读