Java实现 LeetCode 793 阶乘函数后K个零 (分析)

   日期:2020-05-07     浏览:108    评论:0    
核心提示:793. 阶乘函数后K个零f(x) 是 x! 末尾是0的数量。(回想一下 x! = 1 * 2 * java

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,找出多少个非负整数x ,有 f(x) = K 的性质。

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

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

K是范围在 [0, 10^9] 的整数。

class Solution {
 
     // 按照数据规律求解阶乘
     // 1个5 5 1
     // 2个5 = 25 6 实际相当于 5个1个5,然后再加25自身是两个5,所以得到的是 5+1 = 6
     // 3个5 = 125 31 相当于5个25,然后加自身125又多了一个5 所以的(5+1)*5+1=31
     // 按照这个规律,则后续公式可以f(2)=f(1)*5+1 f(1)=1 则 f(x+1) = f(x)*5+1 x是5的次幂数
    
   public int preimageSizeFZF(int K) {
  int last=1;
    while(last<K)
        last=5*last+1;
    while(last>1){
        if(last-1==K)
            return 0;
        last=(last-1)/5;
        K%=last;
    }
    return 5;
    }
}
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
更多>相关资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服