Cod sursa(job #477083)
| Utilizator | Data | 13 august 2010 12:44:32 | |
|---|---|---|---|
| Problema | Factorial | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.4 kb |
#include <cstdio>
int main()
{
int n,x=0,y,v[]={5,25,125,625,3125,15625,78125,390625,1953125,9765625,48828125};
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%d",&n);
y=n*5;
while (x<=y)
{
int nr,i,z=(x+y)/2;
for (i=nr=0;v[i]<=z;++i)
nr+=z/v[i];
if (nr<n)
x=z+1; else
if (nr>n)
y=z-1; else
{printf("%d",z/5*5);break;}
}
return 0;}
