zoukankan      html  css  js  c++  java
  • 尾部的零trailing-zeros

    设计一个算法,计算出n阶乘中尾部零的个数

    样例

    11! = 39916800,因此应该返回 2

    解题思路:最开始一上来就是传统的思路,从1开始到n,做乘法,不过每次乘完的结果都循环除以10直到不能整除,华丽丽的超时了;之后又换了找因数的思路,从1到n去找他们总共有多少个2和多少个5,去两者中小的那一个,又华丽的超时了。然后我看网上分析说,因为5的个数肯定小于2的个数,所以只需要数共有多少个5就可以。然而还是超时了,并且我感觉已经不造为什么出错了

     1 class Solution {
     2     /*
     3      * param n: As desciption
     4      * return: An integer, denote the number of trailing zeros in n!
     5      */
     6     public long trailingZeros(long n) {
     7    
     8         if(n<1) return 0;   
     9         int c = 0;   
    10            
    11         while(n/5 != 0) {    
    12             n /= 5;   
    13             c += n;   
    14         }   
    15            
    16         return c;  
    17     }
    18 };
  • 相关阅读:
    附加:CSS大全
    HTML 三
    HTML 二
    HTML 一
    20150106--SQL事务操作+触发器二
    20150106--SQL事务操作+触发器一
    20141229 mysql基本操作二
    Oracle基础知识
    JDBC事务
    jsp内置/隐式对象(9个)与el表达式
  • 原文地址:https://www.cnblogs.com/wangnanabuaa/p/5008867.html
Copyright © 2011-2022 走看看