Cod sursa(job #1957329)
| Utilizator | Data | 7 aprilie 2017 14:47:30 | |
|---|---|---|---|
| Problema | Factorial | Scor | 85 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.68 kb |
///cautare binara
#include <fstream>
#define MAXN 400000015
using namespace std;
ifstream fi("fact.in");
ofstream fo("fact.out");
int P,N,factori,auxN,st,dr,mij;
int zero(int x)
{
///cati de zero sunt in finalul lui x!
int z=0,t=5;
while (x/t>0)
{
z+=(x/t);
t*=5;
}
return z;
}
int main()
{
fi>>P;
if (P==0)
fo<<0;
else
{
st=0,dr=MAXN/5+1;
while (dr-st>1)
{
mij=(st+dr)/2;
if (zero(5*mij)<=P)
st=mij;
else
dr=mij;
}
fo<<5*st;
}
fi.close();
fo.close();
return 0;
}
