Cod sursa(job #130001)
Utilizator | Data | 30 ianuarie 2008 20:16:00 | |
---|---|---|---|
Problema | Factorial | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.35 kb |
#include <stdio.h>
FILE *in,*o;
long p,s,i;
unsigned long long n,q;
int main()
{
in=fopen("fact.in","r");
o=fopen("fact.out","w");
fscanf(in,"%ld",&p);
if (p!=0)
{
n=p*5;
s=25;
i=1;
q=n;
while (i<=11 && s<=q)
{
n=n-(q/s)*i;
s=s*5;
i++;
}
fprintf(o,"%lu",n);
}
else fprintf(o,"1");
fclose(in);
fclose(o);
return 0;
}