Pagini recente » Cod sursa (job #1963618) | Cod sursa (job #3267247) | Cod sursa (job #1778712) | Cod sursa (job #1972078) | Cod sursa (job #2707957)
#include <cstdio>
#define DIM (int) 1e4
using namespace std;
int n, st, dr, min_fact = (int) 1e8, poz = DIM - 1, mij;
char buff[DIM];
void read(int &nr){
nr = 0;
while(!('0' <= buff[poz] && buff[poz] <= '9')){
if(++poz == DIM) fread(buff, 1, DIM, stdin), poz = 0;
}
while(('0' <= buff[poz] && buff[poz] <= '9')){
nr = nr * 10 + buff[poz] - '0';
if(++poz == DIM) fread(buff, 1, DIM, stdin), poz = 0;
}
}
int nr_0(int n){
int p = 5, ans = 0;
while(p <= n){
ans += n / p;
p *= 5;
}
return ans;
}
int main(){
freopen("fact.in", "r", stdin);
freopen("fact.out", "w", stdout);
read(n);
st = 0, dr = (int) 1e9;
if(!n){
printf("%d", 1);
}
while(st <= dr){
mij = (st + dr) / 2;
if(nr_0(mij) == n){
if(mij < min_fact){
min_fact = mij;
}
dr = mij - 1;
}
else if(nr_0(mij) > n){
dr = mij - 1;
}
else{
st = mij + 1;
}
}
printf("%d", min_fact);
return 0;
}