Pagini recente » Cod sursa (job #2537670) | Cod sursa (job #2928948) | Cod sursa (job #1180823) | Cod sursa (job #2722729) | Cod sursa (job #2831690)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("fact.in");
ofstream fout ("fact.out");
int p;
long long exp5, st, md, dr, found=-1;
long long pow5(int fact){
long long result = 0, add, crt = 5;
do{
add = fact / crt;
result += add;
crt *= 5;
}while(add != 0);
return result;
}
int main(){
fin>>p;
st = 1;
dr = (1 << 30);
while(st <= dr){
md = (dr - st) / 2 + st;
exp5 = pow5(md);
if(exp5 == p)
found = md;
if(pow5(md) >= p)
dr = md - 1;
else
st = md + 1;
}
fout<<found;
return 0;
}