LeetCode/阶乘后的零
2022/8/28 6:23:51
本文主要是介绍LeetCode/阶乘后的零,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1. 返回尾零数量
可以转换为求质因子为2和5数量的较小值,实际上就是求质因子为5的数量
class Solution { public: int trailingZeroes(int n) { int ans = 0; for (int i = 5; i <= n; i += 5) //遍历所有含质因子5的数 for (int x = i; x % 5 == 0; x /= 5) //计算该数有几个为5的质因子 ++ans; return ans; } };
//优化写法 class Solution { public: int trailingZeroes(int n) { int ans = 0; while (n) { n /= 5;//累求质因子为5的k次方的数 ans += n; } return ans; } };
2. 求满足阶乘尾零为k数的个数
int preimageSizeFZF(int k) { return help(k + 1) - help(k);//使得尾零恰为k+1的整数减去使得尾零恰为k的整数 } long long help(int k) {//二分查找 long long r = 5LL * k;//二分上界 long long l = 0;//二分下界 while (l < r) { long long mid = (l + r) / 2; if (zeta(mid) < k) //尾零少于目标值 l = mid + 1;//移动左边界 else r = mid;//移动右边界,找第一个满足条件值(也就是满足条件的区间左边界) } return r ; }
这篇关于LeetCode/阶乘后的零的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享
- 2024-11-22ansible 的archive 参数是什么意思?-icode9专业技术文章分享
- 2024-11-22ansible 中怎么只用archive 排除某个目录?-icode9专业技术文章分享
- 2024-11-22exclude_path参数是什么作用?-icode9专业技术文章分享
- 2024-11-22微信开放平台第三方平台什么时候调用数据预拉取和数据周期性更新接口?-icode9专业技术文章分享
- 2024-11-22uniapp 实现聊天消息会话的列表功能怎么实现?-icode9专业技术文章分享
- 2024-11-22在Mac系统上将图片中的文字提取出来有哪些方法?-icode9专业技术文章分享
- 2024-11-22excel 表格中怎么固定一行显示不滚动?-icode9专业技术文章分享
- 2024-11-22怎么将 -rwxr-xr-x 修改为 drwxr-xr-x?-icode9专业技术文章分享
- 2024-11-22在Excel中怎么将小数向上取整到最接近的整数?-icode9专业技术文章分享