Pagini recente » Cod sursa (job #413729) | Cod sursa (job #2878539) | Cod sursa (job #1928942) | Cod sursa (job #67894) | Cod sursa (job #178817)
Cod sursa(job #178817)
#include <stdio.h>
FILE *f,*g;
//int t[5][3000000];
long n,i,j,ini,ant1,ant3,r;
long long x1,x2,x3,x4;
int main(){
f=fopen("12perm.in","r");
g=fopen("12perm.out","w");
fscanf(f,"%ld",&n);
/*
t[1][1]=1;t[2][1]=2;t[3][1]=6;t[4][1]=12;//t[4][2]=1;
t[1][0]=1;
t[2][0]=1;
t[3][0]=1;
t[4][0]=1;
// fprintf(g,"%d",n);
for(j=5;j<=n;j++){
if(j%4)ini=j%4;
else ini=4;;
ant1=ini-1;
ant3=ini+1;
if(ant1==0)ant1=4;
if(ant3==5)ant3=1;
// fprintf(g,"%d*",ant1);
for(i=1,r=2*(j-2); i<=t[ant1][0]||r||i<=t[ant3][0] ; i++,r/=10000){
r+=t[ant1][i]+t[ant3][i];
t[ini][i]=r%10000;
}
t[ini][0]=i-1;
}
ini=n%4;
if(!ini)ini=4;
fprintf(g,"%ld",t[ini][t[ini][0]]);
for(i=t[ini][0]-1;i>=1;i--)fprintf(g," %04d",t[ini][i]);
*/
x1=1;x2=2;x3=6;x4=12;
long j;
for(j=5;j<=n;j++) {x1=x2;x2=x3;x3=x4;x4=x3+x1+2*j-4;}
fprintf(g,"%lld",x4);
fclose(f);
fclose(g);
return 0;
}