Pagini recente » Cod sursa (job #1812478) | Cod sursa (job #1607023) | Cod sursa (job #1186962) | Cod sursa (job #177960) | Cod sursa (job #2185801)
#include<fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
typedef long long ll;
inline ll factZerosCnt(const ll &N){
ll fivePwr = 5, factZeros = 0;
while(fivePwr <= N){
factZeros += N / fivePwr;
fivePwr *= 5;
}
return factZeros;
}
inline void binSearch(const ll &P, ll &N){
N = -1;
ll low = 1, high = 5e8, mid, factZeros;
while(low <= high){
mid = (low + high) >> 1;
factZeros = factZerosCnt(mid);
if(factZeros == P){
N = mid;
high = mid - 1;
}
else if(factZeros < P)
low = mid + 1;
else
high = mid - 1;
}
}
int main(){
ll N, P;
fin >> P;
binSearch(P, N);
fout << N;
}