Pagini recente » Cod sursa (job #228226) | Cod sursa (job #1435810) | Cod sursa (job #2965364) | Cod sursa (job #2588111) | Cod sursa (job #32777)
Cod sursa(job #32777)
#include <cstdio>
int n;
int A[10300];
void citire()
{
freopen("patrate2.in", "r", stdin);
scanf("%d\n", &n);
}
void mul(int A[], long long B)
{
int i;
long long t=0;
for(i=1; i<=A[0] || t ; ++i, t/=10)
A[i]=(t+=A[i]*B)%10;
A[0]=i-1;
}
void calcul()
{
int i;
A[0]=1;
A[1]=1;
for(i=2;i<=n;i++) mul(A, i);
int p=n/30;
int q=n%30;
for(i=1;i<=p;i++) mul(A, 1<<30);
for(i=1;i<=q;i++) mul(A, 2);
p=(n*n-n)/30;
q=(n*n-n)%30;
for(i=1;i<=p;i++) mul(A, 1<<30);
for(i=1;i<=q;i++) mul(A, 2);
}
void afis(int A[])
{
for(int i=A[0];i>0;i--) printf("%d", A[i]);
printf("\n");
}
int main()
{
citire();
calcul();
freopen("patrate2.out", "w", stdout);
afis(A);
return 0;
}