Cod sursa(job #1633505)
Utilizator | Data | 6 martie 2016 12:18:40 | |
---|---|---|---|
Problema | Factorial | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.56 kb |
#include<cstdio>
const int inf=2147483647;
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
int p;
scanf("%d ",&p);
int st=0,dr=inf,mij,rasp=-1;
while(st<=dr)
{
mij=(st+dr)/2;
int p5=0,a5=5;
while(mij/a5!=0)
{
p5+=mij/a5;
a5*=5;
}
if(p5>=p)
{
dr=mij-1;
if(p5==p)
rasp=mij;
}
else
st=mij+1;
}
printf("%d\n",rasp);
return 0;
}