Pagini recente » Cod sursa (job #781570) | Cod sursa (job #253464) | Cod sursa (job #1369170) | Cod sursa (job #2731514) | Cod sursa (job #228470)
Cod sursa(job #228470)
#include<stdio.h>
FILE*f=fopen("fact.in","r"),*g=fopen("fact.out","w");
long a[13][3],i,j,n,p,r,nr;
int main()
{
a[0][1]=0; a[0][2]=1;
a[1][1]=1; a[1][2]=5;
a[2][1]=6; a[2][2]=25;
a[3][1]=31; a[3][2]=125;
a[4][1]=156; a[4][2]=625;
a[5][1]=781; a[5][2]=3125;
a[6][1]=3906; a[6][2]=15625;
a[7][1]=19531; a[7][2]=78125;
a[8][1]=97656; a[8][2]=390625;
a[9][1]=488281; a[9][2]=1953125;
a[10][1]=2441406; a[10][2]=9765625;
a[11][1]=12207031; a[11][2]=48828125;
a[12][1]=61035156; a[12][2]=244140625;
a[13][1]=305175781; a[13][2]=1220703125;
fscanf(f,"%ld",&p);
if(!p) {fprintf(g,"1"); return 0;}
for(i=1;a[i][1]<=p;++i);
for(j=i-1;j>0 ;j--)
{nr=0;
while(p-a[j][1]>=0)
{p-=a[j][1];
nr++;
}
r+=a[j][2]*nr;
}
fprintf(g,"%ld",r);
return 0;
}