Cod sursa(job #137091)
| Utilizator | Data | 16 februarie 2008 21:32:04 | |
|---|---|---|---|
| Problema | Factorial | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.43 kb |
#include<stdio.h>
long p;
int main()
{
long li,ls,i,s,num;
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%ld",&p);
if(p)
{
li=p<<2;
ls=p+(p<<2);
for(i=li;i<=ls;++i)
{
s=0;
num=5;
while(i/num)
{
s+=i/num;
num=num+(num<<2);
}
if(s==p)
{
printf("%ld",i);
return 0;
}
}
}
else
{
printf("1");
return 0;
}
printf("-1");
fcloseall();
return 0;
}