/*
  * Problem 172: Factorial Trailing Zeroes
  * Given an integer n, return the number of trailing zeroes in n!.
  * Note: Your solution should be in logarithmic time complexity.
  */

  /*
   * Solution 1
   * 对于每一个数字,累计计算因子10、5、2数字出现的个数,结果等于10出现的个数,加上5和2中出现次数较少的
   * 改进:5出现的次数一定大于2出现的次数,因此只需要统计因子10和5出现的次数。进一步衍生为只统计5出现的次数。
   * 改进:讲循环控制的步长改为5
   */
 int trailingZeroes(int n) {
     ;
     ;
     ;

     int temp;
     ; i--) {
         temp = i;
         ) {
              == ) {
                 number10++;
                 temp = temp/;
             }  == ) {
                 number5++;
                 temp = temp/;
 //            } else if (temp % 2 == 0) {
 //                number2++;
 //                temp = temp/2;
             } else {
                 break;
             }
         }
     }
     return (number5>number2?number2:number5)+number10;
 }

 /*
  * Solution 2
  * 根据上面分析,只需要统计所有数字中因子5出现的次数
  */
 int trailingZeroes(int n) {
     ;
     ;
     ) {
         result += temp;
         temp = temp/;
     }
     return result;
 }

最新文章

  1. codevs 1772 歌词
  2. 第三章 Git的入门 - 读书笔记
  3. Spark集群 + Akka + Kafka + Scala 开发(2) : 开发一个Spark应用
  4. Ext-进度条
  5. 我的工具箱之TortoiseSVN-1.7.11.236000
  6. The specified system/compiler is not supported
  7. java:I/O 根据用户输入反馈信息
  8. python面试题大全
  9. scp和pscp
  10. HDU 3853 LOOPS 可能性dp(水
  11. 自动化测试培训:设计和实现分布式QTP调用
  12. java集合练习
  13. 【java】HashSet
  14. 20165306 Exp6 信息搜集与漏洞扫描
  15. vscode "find all references" 提示: no result found.
  16. Go signals 信号
  17. pip命令安装 pyinstaller失败解决办法
  18. OpenStack Q版本新功能以及各核心组件功能对比
  19. Notepad++和Sublime单词首字符大小写转化问题
  20. akka cluster singleton

热门文章

  1. jdk8中java.util.concurrent包分析
  2. Django的单元测试
  3. javascript学习面向对象(二)
  4. 【转载】mysqldump的single-transaction和master-data
  5. php图片等比例缩放
  6. Java 去除utf-8类型的空格的方法
  7. 【转载】详细解读C#中的 .NET 弱事件模式
  8. vue 使用总结
  9. Linux下core文件产生的一些注意问题
  10. ABP官方文档翻译 6.5 内嵌资源文件
  11. 20170109| javascript记录
  12. [HEOI2015]小Z的房间
  13. pwn易忘操作原理笔记
  14. LeetCode算法题-Range Addition II(Java实现)
  15. py request.post header
  16. python 递归函数操作方法
  17. ZOJ3623:Battle Ships(全然背包)
  18. uboot命令实现举例
  19. Linux IO模式及 select、poll、epoll详解及源码(转)
  20. 原生JS操作AJAX