Pagini recente » Cod sursa (job #2599097) | Cod sursa (job #2548464) | Cod sursa (job #1072452) | Cod sursa (job #2325640) | Cod sursa (job #228460)
Cod sursa(job #228460)
/*
#include<stdio.h>
#include<math.h>
FILE*g=fopen("factorial.out","w");
long p,a[13][3],i,j,n,q;
int main()
{p=1;
fprintf(g,"a[0][1]=0; a[0][2]=1;\n");
for(i=1,j=1;i<=13;++i,j=1)
{
q=q+p;
fprintf(g,"a[%ld][%ld]=%ld; ",i,j,q);
j=2;
p=pow(5,i);
fprintf(g,"a[%ld][%ld]=%ld;\n",i,j,p);
}
return 0;
} */
#include<stdio.h>
FILE*f=fopen("factorial.in","r"),*g=fopen("factorial.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;
}