Pagini recente » Cod sursa (job #53185) | Cod sursa (job #1637601) | Cod sursa (job #650062) | Cod sursa (job #2084800) | Cod sursa (job #881463)
Cod sursa(job #881463)
#include <iostream>
#include <fstream>
using namespace std;
int P;
int Legendre(int numar, int fact){
int s = 0;
while( numar >= fact )
s += numar / fact,
fact *= 5;
return s;
}
int cautare_binara(){
int st = 1, dr = 5 * P, mij;
while( st <= dr ){
mij = (st + dr) / 2;
if( Legendre(mij, 5) < P )
st = mij + 1;
else
dr = mij - 1;
}
if( Legendre(st, 5) == P )
return st;
else
return -1;
}
int main(){
ifstream f("fact.in");
ofstream g("fact.out");
f >> P;
if(P == 0)
g << 1;
else
g << cautare_binara();
return 0;
}