Pagini recente » Cod sursa (job #500014) | Cod sursa (job #946361) | Cod sursa (job #751985) | Cod sursa (job #1114450) | Cod sursa (job #1171562)
#include <fstream>
#include <iostream>
using namespace std;
int zero(int nr) {
int rez = 0;
while ( nr > 4 ) {
nr = nr / 5;
rez = rez + nr;
}
return rez;
}
int binary(int a, int b, int nr) {
if(a==b && zero(a)!=nr)
return -1;
if ( nr == 0 )
return 0;
int c = (a + b) / 2;
int bla = zero(c);
if ( bla == nr )
return c;
if ( bla > nr )
return binary(a, c - 1, nr);
if ( bla < c )
return binary(c + 1, b, nr);
}
int main() {
ifstream f("fact.in");
int p;
f >> p;
f.close();
ofstream g("fact.out");
int rez = binary(0,400000015,p);
while( rez>0 && zero(rez) == zero(rez-1) )
rez--;
g << rez;
g.close();
return 0;
}