Cod sursa(job #632513)

Utilizator VimanAdrianVimanAdrian VimanAdrian Data 11 noiembrie 2011 14:31:17
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <fstream>

int P;
int nr_zeros(int N) {
long long ret = 0;
for (long long p = 5; p <= N; p = p * 5) {
ret = ret + N / p;
}
return ret;
}
int main() {
freopen("fact.in", "r", stdin);
freopen("fact.out", "w", stdout);
scanf("%d ", &P);
int st = 1, dr = P * 15;
while (st < dr - 1) {
int mid = st + (dr - st + 1) / 2;
if (nr_zeros(mid) >= P) {
dr = mid;
} else {
st = mid;
}

}
if (nr_zeros(st) == P) {
printf("%d ", st);
} else if (nr_zeros(dr) == P) {
printf("%d ", dr);
} else {
printf("-1");
}
return 0;
}