Pagini recente » Cod sursa (job #2805080) | Cod sursa (job #1964198) | Cod sursa (job #11790) | Cod sursa (job #2576103) | Cod sursa (job #2253975)
#include <bits/stdc++.h>
using namespace std;
int numbrOfZeros(int x){
int pow = 1, nr = 0, put = 1;
while(x >= put){
put *= 5;
nr += x / put;
++pow;
}
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;
}
if (numbrOfZeros((mijloc)) < n){
stanga ++;
}
if (numbrOfZeros(mijloc) > n){
dreapta --;
}
}
return 0;
}