Cod sursa(job #1437858)
| Utilizator | Data | 18 mai 2015 18:47:28 | |
|---|---|---|---|
| Problema | Factorial | Scor | 5 |
| Compilator | c | Status | done |
| Runda | Arhiva de probleme | Marime | 0.82 kb |
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *f=fopen("fact.in","rt");
FILE *g=fopen("fact.out","wt");
long *v;
long long i,p,j;
fscanf(f,"%lld",&p);
v=calloc(100000000,sizeof(*v));
v[0]=1;
j=1;
i=5;
while(i<100000000)
{
if(i%25==0)
{
v[j+1]=i;
if(v[j+1]==p)
i=100000001;
j++;
}
else
{
v[j]=i;
if(v[j]==p)
i=100000001;
}
j++;
i+=5;
}
if(v[p])
{
fprintf(g,"%lld",v[p]);
printf("%lld",v[p]);
}
else
{
fprintf(g,"-1");
printf("-1");
}
printf("%d",v[30000003]);
return 0;
}
