博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode(31)-Factorial Trailing Zeroes
阅读量:6407 次
发布时间:2019-06-23

本文共 1040 字,大约阅读时间需要 3 分钟。

题目:

Given an integer n, return the number of trailing zeroes in n!.Note: Your solution should be in logarithmic time complexity.

思路:

  • 题意是要求一个数字的阶乘,末尾有多少个0
  • 要求是对数级别的时间,所以考虑用递归
  • 分析一下,产生一个10,后面加0,找到全部的2*5。或者2的次方×5的次方,不论什么情况下因子2的个数永远大于5
  • 所以仅仅须要计算因子5的个数,(25*4 = 100),算2个5 -

代码:

class Solution {    /*     * param n: As desciption     * return: An integer, denote the number of trailing zeros in n!     */    public long trailingZeros(long n) {        // write your code here        return n / 5 == 0 ?

0 : n /5 + trailingZeros(n / 5); } };

暴力方法:(不推荐)

public class Solution {    public int trailingZeroes(int n) {        int count = 0;        if(get(n) == 0){            return 1;        }        int sum = get(n);        while(sum > 0){            if(sum % 10 == 0){                count++;            }            sum = sum /10;        }        return sum;    }    public int get(int n){        int all = 0;        if(n == 0){            return 0;        }        for(int i = 1;i <= n;i++){            all = all*i;        }        return all;    }}

转载地址:http://wotea.baihongyu.com/

你可能感兴趣的文章
济民可信20亿战略资金助力大健康产业,一号护工建立护工行业标准
查看>>
SQL Server 2008 认证之路
查看>>
Yii--Csort说明
查看>>
AutoLISP绘图功能函数Command命令
查看>>
Delphi 线程安全单例
查看>>
C#文件读写初步
查看>>
C# WinForm只允许运行一个窗体实例
查看>>
有用的nth-child
查看>>
Google+这么来的
查看>>
WCF 第十三章 可编程站点 系列文章
查看>>
JavaScript实现 页面滚动图片加载
查看>>
HDU_1004 Let the Balloon Rise
查看>>
QML学习文档_通宵测试完的
查看>>
程序输入后的执行顺序
查看>>
C#遍历枚举
查看>>
产品经理就是综合生物,互联网营销
查看>>
Log4net数据表
查看>>
MyEclipse默认标签TODO,XXX,FIXME和自定义标签的使用
查看>>
UltraEdit抢占IE查看源文件,还原为系统自带记事本
查看>>
静电引发的悲剧
查看>>