#include<bits/stdc++.h>
using namespace std;
long long solve_zero(long long n){
    long long sum=0;
    while(n){
        n/=5;
        sum+=n;
    }
    return sum;
}
long long solve_twomid(long long k) {
    if(k==0){
    	return 0;
	}
    long long l=0,r=5*k;
    while(l<=r){
        long long mid=(l+r)/2;
        long long gs=solve_zero(mid);
        if(gs>=k) {
            r=mid-1;
        }
		else{
            l=mid+1;
        }
    }
    return l;
}

int main(){
    long long l,r,k;
    cin>>l>>r>>k;
    if(k==0){
        cout<<r-l+1;
        return 0;
    }
    long long t=solve_twomid(k);
    if(t>r){
        cout<<0;
    }
	else{
        cout<<r-max(l,t)+1;
    }
    return 0;
}

阶乘末尾zero统计

2 条评论

  • 1

信息

ID
116
时间
1000ms
内存
256MiB
难度
8
标签
递交数
56
已通过
9
上传者