没有合适的资源?快使用搜索试试~ 我知道了~
阶乘后的0(数学问题 数论解决)1
需积分: 0 0 下载量 164 浏览量
2022-08-03
14:42:25
上传
评论
收藏 519KB PDF 举报
温馨提示
试读
1页
= 120, 尾数中有 1 个零.说明: 你算法的时间复杂度应为 O(log n)解题思路尾数的 0 从数论的角度必定可以分解为 2 和 5 ,在阶乘当中,每两
资源详情
资源评论
资源推荐
阶乘后的零
给定一个整数 n,返回 n! 结果尾数中零的数量。
示例 1:
输入: 3
输出: 0
解释: 3! = 6, 尾数中没有零。
示例 2:
输入: 5
输出: 1
解释: 5! = 120, 尾数中有 1 个零.
说明: 你算法的时间复杂度应为 O(log n)
解题思路
尾数的 0 从数论的角度必定可以分解为 2 和 5 ,在阶乘当中,每两个偶数相邻
数即有一个偶数,即 2 的倍数,所以,2 是富余的,只需将阶乘中的 5 的个数算
出来即可。
10 的阶乘里有 10 ,5 两个数包含 5 ,所以 10 的阶乘有 2 个 0 ,15 的阶乘有
3 个 0。25 可以分解为 5 和 5 ,所以 25 的阶乘可以提取 25/(5*5)+25/5 ,依次类
推,代码如下:
int trailingZeroes(int n){
int sum=0;
while(n)
{
n=n/5;
sum=sum+n;
}
return sum;
}
三更寒天
- 粉丝: 77
- 资源: 327
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0