求阶乘

题目描述

见此文章。

蓝桥三十一天刷题(python组)||二分法总结_树欲静而风不止慢一点吧的博客-CSDN博客

求解

k=int(input())
 
def cal_zero(N):
    cnt=0
    while N!=0:
        N=N//5
        cnt+=N
    return cnt
 
l,r=-1,int(1e19)
while l+1!=r:
    mid=(l+r)//2
    if cal_zero(mid)<k:
        l=mid
    else:
        r=mid
 
if(cal_zero(r)==k):
    print(r)
else:
    print(-1)

占坑

posted on 2023-03-25 23:49  快乐的乙炔  阅读(0)  评论(0)    收藏  举报  来源