Pagini recente » Cod sursa (job #3271366) | preONI 2008 - Runda 1 | Cod sursa (job #270952) | Cod sursa (job #1131531) | Cod sursa (job #2253984)
#include <bits/stdc++.h>
using namespace std;
int numbrOfZeros(int x){
int nr = 0, put = 5;
while(x >= put){
nr += x / put;
put *= 5;
}
return nr;
}
int main() {
ifstream f("fact.in");
ofstream g("fact.out");
int n;
f >> n;
int stanga, dreapta;
stanga = 1;
dreapta = n * 5;
if (n == 0){
g << 1;
return 0;
}
while (stanga <= dreapta){
int mijloc = (stanga + dreapta) / 2;
if (numbrOfZeros(mijloc) == n){
g << mijloc;
return 0;
} else if (numbrOfZeros((mijloc)) < n){
stanga ++;
} else if (numbrOfZeros(mijloc) > n){
dreapta --;
}
}
return 0;
}