Pagini recente » Cod sursa (job #2446642) | Cod sursa (job #2202212) | Cod sursa (job #2152021) | Cod sursa (job #721914) | Cod sursa (job #1438025)
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
/*
(p-5)%6==0 => -1
N=5^x=> p-i=-1 ptr i=1:x-1;
in rest -> +5 in poz != -1
*/
FILE *f=fopen("fact.in","rt");
FILE *g=fopen("fact.out","wt");
long *v;
int nu[10]={25,125,625,3125,15625,78125 ,390625 ,1953125,9765625,48828125};
long long i,p,j,k;
;
fscanf(f,"%lld",&p);
v=calloc(100000000,sizeof(*v));
for(i=0;i<10;i++)
{
v[(nu[i]-1)/4]=nu[i];
for(k=1;k<=i+1;k++)
v[(nu[i]-1)/4-1]=-1;
}
v[0]=1;
v[1]=5;
v[2]=10;
v[3]=15;
v[4]=20;
v[5]=-1;
j=25;
int nr=0;
for(i=6;i<p+1;i++)
{
if(nr!=5)
{
if(v[i]!=-1 )
{
v[i]+=j;
j+=5;
nr++;
}
}
if(nr==5)
{
v[i+1]=-1;
nr=0;
}
}
fprintf(g,"%d",v[p]);
printf("%d",v[p]);
return 0;
}