Cod sursa(job #583569)
Utilizator | Data | 20 aprilie 2011 22:21:12 | |
---|---|---|---|
Problema | Factorial | Scor | 85 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.37 kb |
#include<stdio.h>
int main()
{
unsigned long a,z[16],p[16],i,n,j;
freopen ("fact.in","r",stdin);
freopen ("fact.out","w",stdout);
p[1]=5;
z[1]=1;
i=1;
scanf("%i",&a);
while (a>z[i])
{
i++;
p[i]=p[i-1]*5;
z[i]=z[i-1]*5+1;
}
n=0;
for (j=i;j>=1;j--)
if (a>=z[j])
{
n+=(a/z[j])*p[j];
a%=z[j];
}
printf("%i",n);
return 0;
}