Cod sursa(job #1702628)
Utilizator | Data | 15 mai 2016 13:45:59 | |
---|---|---|---|
Problema | Factorial | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.61 kb |
#include<bits/stdc++.h>
using namespace std;
ifstream fin ("fact.in");
ofstream fout ("fact.out");
int Nr;
int num_zero (int n) {
int aux = 5, res = 0;
while (aux <= n) {
res = res + n / aux;
aux = aux * 5;
}
return res;
}
int cautare (int l, int r) {
while (l <= r) {
int m = l - (l - r) / 2;
if (num_zero (m) < Nr)
l = m + 1;
else
r = m - 1;
}
if (num_zero (l) == Nr)
return l;
else
return -1;
}
int main () {
fin >> Nr;
fout << cautare (1, 5 * Nr);
return 0;
}