Pagini recente » Istoria paginii runda/itmarathon2015 | Monitorul de evaluare | Cod sursa (job #1275852) | Cod sursa (job #1309845) | Cod sursa (job #2328749)
#include <cstdio>
#include <cmath>
using namespace std;
FILE* FIN=freopen("patrate2.in","r",stdin);
FILE* FOUT=freopen("patrate2.out","w",stdout);
int v[3200],l;
void mult(int x)
{
int i,r=0;
for(i=0;i<l;i++)
{
v[i]*=x;
v[i]+=r;
r=v[i]/10;
v[i]%=10;
}
for(;v[i]+r;i++)
{
v[i]*=x;
v[i]+=r;
r=v[i]/10;
v[i]%=10;
}
l=i;
}
void af()
{
int i;
for(i=l-1;i;i--)
printf("%d",v[i]);
printf("%d",v[0]);
}
int main()
{
int n,i;
v[0]=1;
l=1;
scanf("%d",&n);
for(i=2;i<=n;i++)
mult(i);
n*=n;
while(n>=20)
{
mult(1048576);
n-=20;;
}
while(n>=5)
{
mult(64);
n-=5;
}
while(n--)
mult(2);
af();
return 0;
}