Mai intai trebuie sa te autentifici.
Cod sursa(job #288068)
Utilizator | Data | 25 martie 2009 15:25:51 | |
---|---|---|---|
Problema | Factorial | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.68 kb |
#include <stdio.h>
long long sum,dr,st,mid,p,n;
int calc (int x)
{
sum=0;
while (x>0){
x=x/5;
sum=sum+x;
}
return sum;
}
int main ()
{
freopen ("fact.in","r",stdin);
freopen ("fact.out","w",stdout);
scanf ("%lld",&p);
st=0; dr=5*p;
while (st<=dr){
mid=(st+dr)/2;
if (calc(mid)>=p){
n = mid;
dr = mid - 1;
}
else st = mid + 1;
}
if (p==0) printf ("1");
else if (calc(n)==p) printf ("%lld",n);
else printf ("-1");
return 0;
}