Pagini recente » Cod sursa (job #2028695) | Cod sursa (job #711506) | Cod sursa (job #1886319) | Cod sursa (job #1044236) | Cod sursa (job #2974684)
#include <iostream>
#include <fstream>
using namespace std;
nrZerouri(int nr) {
int p = 5, ct = 0;
while(nr >= p) {
ct += nr / p;
p *= 5;
}
return ct;
}
int cautareBinara(int nr) {
int st = 0, dr = nr * 5, mij, rsp = -1;
while(st <= dr) {
mij = (st + dr) / 2;
if(nrZerouri(mij) < nr)
st = mij + 1;
else{
dr = mij - 1;
rsp = mij;
}
mij = (st + dr) / 2;
}
if(nrZerouri(rsp) == nr)
return mij + 1;
else
return -1;
}
int main() {
int nr;
ifstream in("fact.in");
ofstream out("fact.out");
in >> nr;
out << cautareBinara(nr);
}