Cod sursa(job #354745)
Utilizator | Ioana Radu iora | Data | 9 octombrie 2009 12:17:32 |
---|---|---|---|
Problema | Factorial | Scor | 0 |
Compilator | cpp | Status | done |
Runda | cautb1 | Marime | 0.41 kb |
#include<cstdio>
int zero(int n)
{
int nr=0;
while(n)
{
nr+=(n/5);
n/=5;
}
return nr;
}
int cb(int p)
{
int pas=(1<<30),i;
for(i=0;pas;pas>>=1)
if(zero(i+pas)<=p-1)
i+=pas;
if(zero(i+1)!=p) return -1;
return i+1;
}
int main()
{
int p;
freopen("factorial.in","r",stdin);
freopen("factorial.out","w",stdout);
scanf("%d",&p);
printf("%d",cb(p));
return 0;
}