Pagini recente » Cod sursa (job #2127304) | Cod sursa (job #2927226) | Cod sursa (job #3236190) | Cod sursa (job #3142152) | Cod sursa (job #697343)
Cod sursa(job #697343)
#include <cstdio>
FILE *f,*g;
typedef int Huge[10000];
int z[10000];
Huge H;
int n,i,cn,cn2,j;
void Mult(int X)
{ int i;
int T=0;
for (i=1;i<=H[0];i++)
{ H[i]=H[i]*X+T;
T=H[i]/10000;
H[i]=H[i]%10000;
}
while (T)
{ H[++H[0]]=T%10000;
T/=10000;
}
}
inline int nrcif(int x) {
int cn=0;
while (x) {
cn++;
x/=10;
}
if (cn==0) cn=1;
return cn;
}
int main() {
f=fopen("patrate2.in","r");
g=fopen("patrate2.out","w");
fscanf(f,"%d",&n);
H[0]=H[1]=1;
for (i=1;i<=n;i++)
Mult(i);
n*=n;
for (i=1;i<=n;i++)
Mult(2);
cn=4; cn2=nrcif(H[1]);
z[1]=0;
for (i=2;i<=H[0];i++) {
z[i]=cn-cn2;
cn2=nrcif(H[i]);
}
for (i=H[0];i>=1;i--) {
fprintf(g,"%d",H[i]);
for (j=1;j<=z[i];j++) fprintf(g,"0");
}
fclose(g);
return 0;
}