Cod sursa(job #358035)
| Utilizator | Data | 21 octombrie 2009 18:46:26 | |
|---|---|---|---|
| Problema | Factorial | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.45 kb |
# include <stdio.h>
long long pas=134217728;
int p;
int zero(int n)
{
int nr=0;
while(n)
{
nr+=n/5;
n/=5;
}
return nr;
}
int caut ()
{
int i;
for(i=1;pas;pas>>=1)
if(zero(i+pas)<p)
i+=pas;
if(zero(i+1) != p)
return -1;
else
return i+1;
}
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%d",&p);
if(p==0) printf("1");
else
printf("%d",caut());
return 0;
}
