Cod sursa(job #356795)
| Utilizator | Data | 16 octombrie 2009 13:09:55 | |
|---|---|---|---|
| Problema | Factorial | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.38 kb |
#include<cstdio>
const int N=1<<9;
int p;
int zero (int n)
{
int s=0;
while (n);
{
s+=n/5;
n/=5;
}
return s;
}
int fact(int p)
{
int i,pas=N;
for ( i=0; pas;pas>>1)
if (zero(i+pas)<p)
i+=pas;
return (i+1);
}
int main()
{
freopen("uscat.in","r",stdin);
freopen("uscat.out","w",stdout);
scanf("%d",&p);
int k=fact(p);
printf("%d",k);
return(0);
}
