Leetcode 172 Factorial Trailing Zeroes

1、题目要求

Given an integer n, return the number of trailing zeroes in n!.

Note: Your solution should be in logarithmic time complexity.

题目意思是求n的阶乘后面末尾0的个数,并且时间复杂度是对数级别。

2、分析

     一个数 n 的阶乘末尾有多少个 0 取决于从 1 到 n 的各个数的因子中 2 和 5 的个数, 而 2 的个数是远远多余 5 的个数的, 因此求出 5 的个数即可. 题解中给出的求解因子 5 的个数的方法是用 n 不断除以 5, 直到结果为 0, 然后把中间得到的结果累加. 例如, 100/5 = 20, 20/5 = 4, 4/5 = 0, 则 1 到 100 中因子 5 的个数为 (20 + 4 + 0) = 24 个, 即 100 的阶乘末尾有 24 个 0. 其实不断除以 5, 是因为每间隔 5 个数有一个数可以被 5 整除, 然后在这些可被 5 整除的数中, 每间隔 5 个数又有一个可以被 25 整除, 故要再除一次, ... 直到结果为 0, 表示没有能继续被 5 整除的数了. 

代码如下:

 1 class Solution {
 2 public:
 3     int trailingZeroes(int n) 
 4     {
 5         int counter=0;  //the counter!
 6         int k=n;
 7      
 8          while(k>=5)
 9          {
10             k=k/5;
11             counter+=k;
12          }
13      
14         return counter;
15     }
16 };

 

转载于:https://www.cnblogs.com/LCCRNblog/p/4392402.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574681.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java递归实现多级菜单栏_java利用递归调用实现树形菜单的样式

一:需求现有以需求就是把某一个帖子的全部评论展示出来。二:分析关于对帖子的评论分为主评论和子评论,主评论就是对帖子的直接评论,子评论就是对评论的评论。三:思路先获取某一个帖子的全部主评论,递归判断…

mysql in 保持顺序_IN条件结果顺序问题_MySQL

bitsCN.comIN条件结果顺序问题项目中需要记录用户的浏览历史,我的意见是前端直接存cookie里,可是前端说cookie内容太多,要求传递id,后端返回数据,结果就产生如下的问题。1.据前端说,url中的数组传递是无序的…

(部分转载,部分原创)java大数类(2)

NYOJ 773 开方数 http://acm.nyist.net/JudgeOnline/problem.php?pid773 1 import java.util.Scanner;2 3 public class Main{4 public static void main(String[] args){5 int n;6 double p;7 Scanner cin new Scanner(System.in);8 w…

mysql 分类汇总_sql多级分类汇总实现介绍

t1id parentidm an ae mf mx fy fz bt2row id amount1 a 13.002 b 20.003 e 20.004 f 20.005 x 20.006 y 20.007 z 20.008 e 12.009 x 11.0010 f 13.00如何得出如下结果:row id amount7 x 20.0011 x 11.00x小计 31.008 y 20.00y小计 20.006 f 20.0012 f 13.00f小计 …

Altium Designer哪里下载和导入元件库_图文教程

http://jingyan.baidu.com/article/46650658064621f549e5f88f.html转载于:https://www.cnblogs.com/Ph-one/p/4397460.html

python3 logging com1_python-logging-基础(1)

在执行用例的时候,往往会遇到各种问题,遇到问题后很难去定位import loggingclass Logs:def __init__(self,filepath,name):#self.namename#self.filepathfilepathself.configRead_config(Config_Http)#重新定义日志名字self.loggerlogging.getLogger(sel…

拷贝人家的

TCP server端 #include "stdafx.h" #include <stdio.h> #include <winsock2.h>#pragma comment(lib,"ws2_32.lib")int main(int argc, char* argv[]) {//初始化WSAWORD sockVersion MAKEWORD(2,2);WSADATA wsaData;if(WSAStartup(sockVersion…

python问题解决方案_Python安装、遇到的问题及解决方案,python,和,方法

Python安装&#xff1a;先在官网下载你需要的Python版本&#xff0c;我这边下载的是Python3.8&#xff0c;下载完是一个exe文件&#xff0c;直接双击安装即可&#xff0c;注意勾选“add python 3.8 to path”安装后遇到的问题&#xff1a;1.安装完成后在cmd中输入Python查看版本…

python 复数求模_Python基础语法知识汇总(学习党的最爱!)

本文章包含了Python一系列基本知识&#xff0c;其中包括&#xff1a;基本数据类型&#xff08;整数&#xff0c;浮点数&#xff0c;复数&#xff0c;字符串&#xff09;&#xff1b;分支语句&#xff1b;异常处理&#xff1b;函数&#xff1b;局部变量与全局变量&#xff1b;递…

JAVA装mysql_已经安装了mysql,怎么能在java程序里使用SQL?

展开全部1、安装62616964757a686964616fe4b893e5b19e31333335323437SQLServer2000安装SQLServer2000补丁SP3安装SQLServer2000 for SP3的驱动程序(先打补丁sp3&#xff0c;再安装针对sp3的驱动程序&#xff0c;安装补丁时&#xff0c;为保险起见&#xff0c;两种验证方式的都装…

用对工具,抖音、某站视频轻松下载~

相信大部分小伙伴都有过这样的困扰&#xff0c;平时我们在刷短视频的时候就发现一段我们需要的视频。想下载时才发现&#xff0c;“保存”按钮是灰色的。 这个时候我们可以通过复制视频链接的方式来下载视频。下面给大家介绍四种万能视频下载工具&#xff0c;大家记得点赞收藏再…

数字的空洞 水 南邮NOJ 1071

数字的空洞 时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte 总提交 : 209 测试通过 : 120 题目描述 在个位数中&#xff1a;0&#xff0c;4&#xff0c;6&#xff0c;8&#xff0c;9有一个共同的特征&#xff1a;数形上存在空洞&…

bzoj 1257: [CQOI2007]余数之和sum 数论

1257: [CQOI2007]余数之和sum Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem.php?id1257Description 给出正整数n和k&#xff0c;计算j(n, k)k mod 1 k mod 2 k mod 3 … k mod n的值&#xff0c;其中k mod i表示k除以i的…

flask 上传excel 前端_flask-restful编写上传图片api

Flask-RESTful是用于快速构建REST API的Flask扩展。我最近在使用Flask-Restful Vue.js写一个轻量博客时有一个前端后端上传图片的需求。在Flask-Restful的官方文档中并没有相关的内容。下面是我谷歌查找资料的总结。引入FileStorageflask-restful的参数解析中并没有文件类型&a…

Hibernate merge和update的区别

今天做了个测试&#xff0c;写了个测试用例来看看merge与update时控制台打印出来的日志有什么不一样。实体bean很简单&#xff0c;就id和name两个字段&#xff0c;接下来分别给出以下几种测试情形的控制台日志内容&#xff1a; 1. 数据库记录已存在&#xff0c;更改person的nam…

qdir 类似工具_qdir 类似工具_支持 Win8.1,全能资源管理器 Q-Dir 5.74 发布

Q-Dir是一款帮助用户管理本地文件和文档的工具。支持快速访问定位本地磁盘、网络驱动器、USB移动设备及其他存储设备中的文件或文档。依靠强大的Quadro-View技术&#xff0c;使得Q-Dir成为一款优秀的文件管理工具。Q-Dir文件管理软件特色&#xff1a;• 收藏夹&#xff1a;快速…

面试题:求所占字符

/* 在32位系统下&#xff0c;分别定义如下两个变量&#xff1a;char *p[10],char(*p1)[10],sizeof(p),sizeof(p1)分别值为___________。 */ #include <stdio.h> #include <stdlib.h>void main() {char *p[10],(*p1)[10],p2[10],p3;printf("%d,%d,%d,%d,%d,%d&…

mysql数据库函数转义函数_MySql数据库-查询、插入数据时转义函数的使用

最近在看一部php的基础视频教程&#xff0c;在做案例的时&#xff0c;当通过用户名查询用户信息的时候&#xff0c;先使用了转义函数对客户提交的内容进行过滤之后再交给sql语句进行后续的操作。虽然能看到转义函数本身的作用&#xff0c;但是仍然有一些疑惑。疑惑一&#xff1…

python pyquery安装_win7下python安装pyquery

安装pyquery之前首先要明确一点&#xff0c;easyinstall 是一款python包管理器&#xff0c;类似于node的npm&#xff0c;用于安装python的扩展包&#xff0c;它安装的包是以*.egg的方式。要安装pq需要经历以下步骤&#xff1a;1&#xff1a;下载easyinstall设置环境变量&#x…

DbContext 和ObjectContext两者的区别

一是ObjectContext是一种模型优先的开发模式&#xff0c;DbContext是代码优先的开发模式。这是两者最根本的区别。 同时两者之间可以相互转换&#xff1a; 下面给出转换的例子 1 DbContext转为ObjectContext using System.Data.Entity.Infrastructure ObjectContext context (…