Pagini recente » Cod sursa (job #2677554) | Cod sursa (job #138770) | Cod sursa (job #2492321) | Cod sursa (job #3254933) | Cod sursa (job #1171563)
#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 && rez%5!=0 )
rez--;
g << rez;
g.close();
return 0;
}