[每日算法 - 华为机试] leetcode172. 阶乘后的零
入口
力扣
https://leetcode.cn/problems/factorial-trailing-zeroes/
题目描述
给定一个整数 n ,返回 n! 结果中尾随零的数量。
提示 n! = n * (n - 1) * (n - 2) * ... * 3 * 2 * 1
示例 1:
输入:n = 3
输出:0
解释:3! = 6 ,不含尾随 0
示例 2:输入:n = 5
输出:1
解释:5! = 120 ,有一个尾随 0
示例 3:输入:n = 0
输出:0
方法一:数学
解题思路
可以直接想到的是当一个数字*10的时候,乘积的结果必然包含一个0,当和两个10相乘那么乘积肯定包含两个0.
x*10 = x0;
10 = 2*5
得出x*2*5 = x10 ,乘数中包含几对2和5,那么乘积就包含几个0;
例:n=10时,10*9*8*7*6*5*4*3*2 = 3628800结尾有两个0
因为里面包含两对2*5,10可以表示为2*5。
由于阶乘的乘数中2的数量肯定 > 5的数量
因此问题变成了寻找5的数量
class Solution {
public int trailingZeroes(int n) {
int count = 0;
while(n>=5){
count += n/5;
n /= 5;
}
return count;
}
}
[每日算法 - 华为机试] leetcode172. 阶乘后的零的更多相关文章
- [Swift]LeetCode172. 阶乘后的零 | Factorial Trailing Zeroes
Given an integer n, return the number of trailing zeroes in n!. Example 1: Input: 3 Output: 0 Explan ...
- leetcode172 阶乘后的零
对数算法:O(nlogn) /** 即为统计0-n中5,10,15,20,25的个数,因为肯定有足够的偶数使得存在x*5=10*n,25=5*5因此计数加2,5=1*5计数加一: 但如果挨个计数当n很 ...
- 2014华为机试西安地区B组试题
2014华为机试西安地区B组试题 题目一.亮着点灯的盏数 一条长廊里依次装有n(1≤n≤65535)盏电灯,从头到尾编号1.2.3.-n-1.n.每盏电灯由一个拉线开关控制.開始,电灯所有关着. 有n ...
- 每日一道 LeetCode (41):阶乘后的零
每天 3 分钟,走上算法的逆袭之路. 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub: https://github.com/meteor1993/LeetCode Gitee ...
- 华为机试001:字符串最后一个单词的长度(华为OJ001)
华为机试 字符串最后一个单词的长度 计算字符串最后一个单词的长度,单词以空格隔开. 提交网址: http://www.nowcoder.com/practice/8c949ea5f36f422594b ...
- 2014华为机试西安地区A组试题
2014华为机试西安地区A组试题 题目一.分苹果 M个同样苹果放到N个同样篮子里有多少种放法,同意有篮子不放. 1<=M<=10.1<=N<=10 比如5个苹果三个篮子,3,1 ...
- LeetCode 172. 阶乘后的零(Factorial Trailing Zeroes)
172. 阶乘后的零 172. Factorial Trailing Zeroes 题目描述 给定一个整数 n,返回 n! 结果尾数中零的数量. LeetCode172. Factorial Trai ...
- Java实现 LeetCode 172 阶乘后的零
172. 阶乘后的零 给定一个整数 n,返回 n! 结果尾数中零的数量. 示例 1: 输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零. 示例 2: 输入: 5 输出: 1 解释: 5! ...
- Leetcode 172.阶乘后的零
阶乘后的零 给定一个整数 n,返回 n! 结果尾数中零的数量. 示例 1: 输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零. 示例 2: 输入: 5 输出: 1 解释: 5! = 120 ...
- 172. 阶乘后的零 Java解法
https://leetcode-cn.com/problems/factorial-trailing-zeroes/ 172. 阶乘后的零 这题要完成其实要知道一个很巧妙的思想,就是阶乘里面,后面的 ...
随机推荐
- 使用pytorch从零开始实现一个简单的gpt
使用pytorch从零开始实现一个简单的gpt 本文由prompt引导ChatGPT生成简易版gpt模型,根据比较关心的问题,使用了以下的prompt进行内容和代码的生成: prompt:->如 ...
- Spring基础 02 | JdbcTemplate
JdbcTemplate Spring对Jdbc的Api简单封装 开发步骤 1.导入Spring-jdbc.spring-tx坐标 2.创建数据库表和实例 3.创建jdbcTemplate对象 4.执 ...
- 《C++并发编程实战》读书笔记(4):原子变量
1.标准原子类型 标准原子类型的定义位于头文件<atomic>内.原子操作的关键用途是取代需要互斥的同步方式,但假设原子操作本身也在内部使用了互斥,就很可能无法达到期望的性能提升.有三种方 ...
- find_package()使用指南
关于find_package() 在使用cmake引用第三方库(比如OpenCV)时,我们总是使用find_package()这个指令来实现对包的查找(比如find_package(OpenCV)). ...
- ClickHouse-3引擎
引擎 数据库引擎 index 表引擎 数据库引擎 数据库引擎允许您处理数据表. 默认情况下,ClickHouse使用Atomic数据库引擎.它提供了可配置的table engines和SQL dial ...
- ElasticSearch(1)---Logstash同步Mysql数据到ElasticSearch
1. 单机部署-场景描述 elasticsearch只用过,没有部署或者维护过,从头完整走一遍,记录下,原创实战,有需要的朋友参考下. 2 . 解决方案 特别说下,以前win7下安装的3台虚拟机,没有 ...
- Maven详操作指南
学习目标1. Maven 的环境搭建2. Pom.xml 文件的使用3. Maven 指令的使用4. Idea 创建 Maven 项目使用 Maven 改变传统项目构建为什么使用Maven,解决了哪些 ...
- Oracle用户的创建和授权
1 --创建用户.密码 2 create user infouser identified by "User@2022!"; 3 --授权连接数据库权限 4 grant conne ...
- docker上安装并启动redis
//查看镜像 [root@VM-0-3-centos ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEredis latest cc69ae1 ...
- Spark常用Sql
一.日期处理 1.查询当前日期 SELECT current_date() 2023-12-22 2.查询当前时间戳 select current_timestamp() 2023-12-22 14: ...