Cod sursa(job #110803)
Utilizator | Data | 27 noiembrie 2007 20:01:58 | |
---|---|---|---|
Problema | Factorial | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.5 kb |
#include<stdio.h>
int main()
{
long double p,sol,cinci=25,t;
FILE *f=fopen("fact.in","r");
fscanf(f,"%Lf",&p);
fclose(f);
if(p==0)
{
sol=0;
f=fopen("fact.out","w");
fprintf(f,"1");
fclose(f);
return 0;
}
sol=p*5;
int h=2,k,hatv=2;
for(cinci=25;cinci<=sol;cinci*=5,h++,hatv++)
{
// if(cinci<sol)
k=2;
for(t=cinci*2;t<sol;t+=cinci,k++)
if(k%5!=0) h+=hatv;
}
sol-=5*(h-2);
f=fopen("fact.out","w");
fprintf(f,"%.0Lf\n",sol);
fclose(f);
return 0;
}