leetcode题目--阶乘后的零 ---脑筋急转弯
题目链接:
172. 阶乘后的零 - 力扣(LeetCode) (leetcode-cn.com)https://leetcode-cn.com/problems/factorial-trailing-zeroes/
其实,遇到这种跟阶乘有关的题目,一般都是不用求阶乘的,小伙伴们千万不要被题目给迷惑了哦~
脑筋急转弯:我们要计算尾数有多少个0,根据我小学被罚抄了200遍九九乘法表的经验:只有2×5=10 ,
所以我们只需要找给定的数字当中有质因子5或2的个数即可(他俩当中较小的的那个就是答案)
现在判断质因子2和5的个数谁更大:
我们知道:[1,n]当中p的倍数有个,也就是这些数里面都含有一个p,我们继续
,得到是
的倍数的个数。依次类推:
[1,n]中是五的倍数的个数为,显然当p越小时,数字越大。
所以质因子2的个数不会小于质因子5的个数。
即我们只需要找到给定的数字当中有多少个质因子5即可。
根据上面的分析,我们很容易就能得到答案
上代码:
int trailingZeroes(int n) {int ans = 0;while(n){n /= 5;ans += n;}return ans;}
希望和诸公共勉!
PS:那些打不死我的,只会让我更强大!
leetcode题目--阶乘后的零 ---脑筋急转弯相关推荐
- 【LeetCode 172. 阶乘后的零】
LeetCode 172. 阶乘后的零 题目描述 解题思路 class Solution {public int trailingZeroes(int n) {//思路//计算阶乘后为零的个数 因为2 ...
- Leetcode 172. 阶乘后的零 解题思路及C++实现
解题思路: 找阶乘后的零,本质上是找相乘的因子中5的个数,一般情况中,5的倍数中包含一个因子5,但是5的指数次方如25,就包含了2个因子5,这个要注意. class Solution { public ...
- 力扣【阶乘问题】leetcode-172、阶乘后的零;leetcode-793、阶乘后K个零;
目录 题目一:172.阶乘后的零 题目二:793.阶乘后K个零 题目一:172.阶乘后的零 给定一个整数 n,返回 n! 结果中,尾数中零的数量 举一个栗子:6!=[ 1 * 2 * 3 * 4 * ...
- 阶乘后的零(C语言)
文章目录 题目分析 代码实现 让我们来看看这道题的描述. 题目:给定一个整数 n ,返回 n! 结果中尾随零的数量. 输入:n = 3 输出:0 解释:3! = 6 ,不含尾随 0 输入:n = 5 ...
- 【小f的刷题笔记】(JS)阶乘 - 阶乘后的零 LeetCode172 阶乘函数后K个零 LeetCode793
[阶乘] 一.阶乘后的零: LeetCode172 链接: 172.阶乘后的零 题目: 思路: 0的产生是一定是因为2*5产生的,所以就是找因数 并且,可想而知,找的到因数5,必然找的到因数2与之搭配 ...
- LeetCode 172 阶乘后的0
172. 阶乘后的零 分解质因子 n=(2^m)*(3^n)*(5^p)*7^..... 1个5和1个2可以配出一个0 由于m远远大于p(偶数都可以拆出一个2),只要求p 问题转换为n中5因子的个数: ...
- 365天挑战LeetCode1000题——Day 071 阶乘后的零 阶乘函数后 K 个零 最小栈 移除无效的括号
172. 阶乘后的零 代码实现(自解) class Solution {public:int trailingZeroes(int n) {int ans = 0;while (n) {n /= 5; ...
- 【Leetcode - 172】阶乘后的零(思维)
给定一个整数 n ,返回 n! 结果中尾随零的数量. 提示 n! = n * (n - 1) * (n - 2) * ... * 3 * 2 * 1 示例 1: 输入:n = 3 输出:0 解释:3! ...
- Leetcode题库 172.阶乘后的零(C实现)
文章目录 思路 方法1 方法2 代码 方法1 方法2 思路 方法1 末尾每一个0都能看做是一个10 0的数量就转换成n!=123*-n形成的10的数量 每一个10可以看作是25 10的数量就转换成形成 ...
- 【leetcode 简单】第四十二题 阶乘后的零
给定一个整数 n,返回 n! 结果尾数中零的数量. 示例 1: 输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零. 示例 2: 输入: 5 输出: 1 解释: 5! = 120, 尾数中有 ...
最新文章
- php使用redis的GEO地理信息类型
- 大型网站架构不得不考虑的10个问题,互联网营销
- boost::spirit模块实现将由某个分隔符分隔的任意键/值对解析为 std::vector的测试程序
- VirtualBox下安装Ubuntu Server 16.04
- customizing download - debug in CRM
- python 求和并排序_Python算法教程第三章知识点:求和式、递归式、侏儒排序法和并归排序法...
- mysql truncate table命令使用总结
- 记录下最近使用到的sql语句
- 课时22:函数:递归是神马
- aspx使用存储过程分页
- linux shell脚本编程笔记(三): 三种引号的区别
- CCF NOI1017 价格查询
- 从输入url到页面展现发生了什么?
- 一文弄懂数据挖掘的十大算法,数据挖掘算法原理讲解
- quot;紫陀螺quot;网友感触转载系列之…
- 特征向量和特征值的物理意义
- 专访京东孙海波:大牛架构师养成记及电商供应链中区块链技术的应用
- Pytorch优化器Optimizer
- GitHub 各种开源项目
- 基于meta-path的异质网络Embedding-HIN2vec
热门文章
- Ubuntu安装Nvidia GTX1070显卡驱动循环登录(loginl loop)
- 跟着鬼哥学so修改,四,实例第一篇
- layui fixbar 返回顶部_苹果iphone12怎么关闭程序appp 怎么返回上一步
- LVS集群-DR模式【部署高可用LVS-DR集群】
- python提示变量未定义_错误消息说变量未定义。Python
- BENTLY 350015 127610-01数字量输入卡件模块
- Resnet实现手写体数字识别
- 分众估值下降3.74亿美元 与新浪合并或存变数
- 郭健: currency Managed Workqueue(CMWQ)概述
- 高级特性(局部内部类及应用)