Pagini recente » Cod sursa (job #2139228) | Cod sursa (job #2269498) | Cod sursa (job #2529248) | Cod sursa (job #2256623) | Cod sursa (job #508398)
Cod sursa(job #508398)
#include <cstdio>
using namespace std;
#define dim 100000
long v[dim], j, cifre,n, rez, i;
void mare(long x, long a[dim])
{
j=v[0];
cifre=1;
while(j>0)
{
a[cifre]=a[cifre]*x;
++cifre;
--j;
}
a[0]=cifre-1;
for(j=1;j<=a[0];++j)
while(a[j]>9)
{
a[j+1]+=a[j]/10;
a[j]%=10;
}
if(a[cifre+1]!=0)
++a[0];
while(a[a[0]+1]!=0)
{
while(a[a[0]+1]>9)
{
a[a[0]+2]+=a[a[0]+1]/10;
a[a[0]+1]%=10;
}
++a[0];
}
}
int main()
{
freopen ("patrate2.in" , "r" , stdin);
freopen ("patrate2.out" , "w", stdout);
scanf("%d" , &n);
rez=n*n;
v[0]=1;
v[1]=1;
for(i=10;i<=rez;i+=10)
mare(1024,v);
if(rez%10==1)
mare(2,v);
else
if(rez%10==2)
mare(4,v);
else
if(rez%10==3)
mare(8,v);
else
if(rez%10==4)
mare(16,v);
else
if(rez%10==5)
mare(32,v);
else
if(rez%10==6)
mare(64,v);
else
if(rez%10==7)
mare(128,v);
else
if(rez%10==8)
mare(256,v);
else
if(rez%10==9)
mare(512,v);
for(i=2;i<=n;++i)
mare(i,v);
for(i=v[0];i>=1;--i)
printf("%ld", v[i]);
return 0;
}