当前位置: 首页 > news >正文

LeetCode 793. 阶乘函数后 K 个零

 f(x) 是 x! 末尾是 0 的数量。回想一下 x! = 1 * 2 * 3 * ... * x,且 0! = 1 。

例如, f(3) = 0 ,因为 3! = 6 的末尾没有 0 ;而 f(11) = 2 ,因为 11!= 39916800 末端有 2 个 0 。
给定 k,找出返回能满足 f(x) = k 的非负整数 x 的数量。

示例 1:

输入:k = 0
输出:5
解释:0!, 1!, 2!, 3!, 和 4! 均符合 k = 0 的条件。
示例 2:

输入:k = 5
输出:0
解释:没有匹配到这样的 x!,符合 k = 5 的条件。
示例 3:

输入: k = 3
输出: 5
 

提示:

0 <= k <= 10^9

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/preimage-size-of-factorial-zeroes-function
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

这个题简单的一匹。。

主要就是要想清楚如何统计n!的末尾0个数

因为:n!=1\times 2\times 3\times ...\times n

而末尾的0显然由2*5得到,而一个阶乘运算中,2要比5多得多,所以只需要统计这个n的阶乘能提供多少个5就可以了

最后注意,像25是能提供两个5的,因为25=5*5,这也是为什么题目中会有0解的存在

而对于非0解,那答案就是5,因为至少要5个数之后才会在遇到一个带因子5的数,末尾0个数才会改变。

最后,我们先写一个函数计算末尾0个数,然后二分查找一下有没有f(x)刚好是k,如果没有就返0,有就返回5

class Solution
{private long zeroCount(long n){long zero=0;while(n>0){zero=zero+n/5;n=n/5;}return zero;}public int preimageSizeFZF(int k){long left=0,right=(long)5*k,mid;while(left<=right){mid=(left+right)/2;long c=this.zeroCount(mid);if(c>k)right=mid-1;else if(c<k)left=mid+1;elsereturn 5;}return 0;}
}

http://www.lryc.cn/news/13669.html

相关文章:

  • maven打包顺序与jvm类加载顺序
  • ④ 链表
  • 小孩扁桃体肿大3度能自愈吗?6岁小孩扁桃体肥大怎么治效果好?
  • 【C++提高编程】C++全栈体系(二十二)
  • linux系统编程2--网络编程socket知识
  • Python-__repr__、__hash__和__eq__方法,split()、join()、yield()和append()函数
  • 【安卓开发】安卓广播机制
  • 移动WEB开发四、rem布局
  • request.getURL()和request.getURI() 以及通过request获得路径相关大全
  • java网络编程-nio学习:阻塞和非阻塞
  • JVM-JMM内存模型(happens-before、volatile)
  • 算法leetcode|37. 解数独(rust重拳出击)
  • SpringBoot整合Dubbo
  • [软件工程导论(第六版)]第9章 面向对象方法学引论(课后习题详解)
  • 光学分辨率光声显微镜中基于深度学习的运动校正算法
  • 浅谈UG二次开发中使用的FindObject
  • 贪心原理及刷题
  • 2023赏金计划:Coremail SRC漏洞征集与样本奖励火热进行中
  • 简记:清理指定后缀名文件的 powerhsell 小脚本
  • 问题记录:mac系统偏好设置不展示mysql
  • 网络计划--时间参数的计算和优化
  • 1.2.7存储结构-磁盘管理:磁盘移臂调度算法、先来先服务(FCFS)、最短寻道时间优先(SSTF)、扫描算法(SCAN)、循环扫描(CSCAN)
  • 2022年AI顶级论文 —生成模型之年(上)
  • Linux下程序调试的方法【GDB】GDB相关命令和基础操作(命令收藏)
  • 使用frp配置内网机器访问
  • 简述7个流行的强化学习算法及代码实现!
  • 朗润国际期货招商:地方政府工作报告中对于促进消费
  • 前端性能优化的一些技巧(90% chatGpt生成)
  • [软件工程导论(第六版)]第8章 维护(复习笔记)
  • Python - 绘制人体生物节律