Cod sursa(job #79293)
| Utilizator | Data | 21 august 2007 17:39:51 | |
|---|---|---|---|
| Problema | Factorial | Scor | 75 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.43 kb |
#include<stdio.h>
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
long p,n,k,nr0=0,t=1,q;
scanf("%ld",&p);
n=p*5;
if(p==0)
printf("1");
while(n/t)
{
t=t*5;
nr0=nr0+n/t;
}
if(nr0==p)
printf("%ld",n);
else
{
while(nr0!=p)
{
k=n;
n=n-5;
q=0;
while(k%5==0)
{
k=k/5;
q++;
}
nr0=nr0-q;
}
printf("%ld",n);
}
return 0;
}
