Cod sursa(job #2412179)
Utilizator | Alexandru AlexNeagu | Data | 21 aprilie 2019 18:56:20 |
---|---|---|---|
Problema | Factorial | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | probleme_de_oni-runda2019 | Marime | 0.53 kb |
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int N,Nr=-1;
int verif(int X)
{
int nr_z=0;
for (int i=5; X/i>0; i*=5)
nr_z+=X/i;
return nr_z;
}
void Cautare_Binara(int st, int dr)
{
while (st!=dr)
{
int mij=(st+dr)/2;
if (verif(mij)>N)
dr=mij-1;
else if (verif(mij)<N)
st=mij+1;
else
{
Nr=mij;
dr=dr-1;
}
}
}
int main()
{
fin>>N;
Cautare_Binara(1,2000000000);
fout<<Nr;
}