Cod sursa(job #26380)
Utilizator | Data | 5 martie 2007 15:28:26 | |
---|---|---|---|
Problema | Factorial | Scor | 10 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.35 kb |
#include<stdio.h>
#include<math.h>
void main()
{
long p;
FILE *f,*g;
f=fopen("fact.in","r");
g=fopen("fact.out","w");
fscanf(f,"%ld",&p);
if(p==0)
fprintf(g,"%d",1);
else{
long k=0;
long i=1;
while(pow(5,i)<p){
if(k!=0){
k=k+3;
}
k=k+i;
i++;
}
fprintf(g,"%ld",5*(p-k));
}
fclose(f);
fclose(g);
}