Pagini recente » Cod sursa (job #3167826) | Cod sursa (job #1705452) | Cod sursa (job #306309) | Cod sursa (job #931202) | Cod sursa (job #1831934)
#include <fstream>
using namespace std;
ifstream fin ("patrate2.in");
ofstream fout ("patrate2.out");
int H[300],n;
long x,putere;
void Inmultire(unsigned long X)
{
int i;
unsigned long T;
for(i=1;i<=H[0];i++)
{
H[i]=H[i]*X+T;
T=H[i]/10;
H[i]%=10;
}
while(T)
{
H[++H[0]]=T%10;
T/=10;
}
}
void patrate2()
{
int r,nr,putere;
putere=n*n;
H[0]=1;
H[1]=1;
r=0;nr=1;
if(putere>50)
{
if(putere%2!=0)
{
r=1;
while(putere>25)
{
putere/=2;
nr++;
}
}
else
while(putere>25)
{
putere/=2;
nr++;
}
}
x=1;
for(int i=1;i<=putere;i++)
x=x*2;
if(r==1)
Inmultire(2);
for(int i=1;i<=nr;i++)
Inmultire(x);
for(int i=2;i<=n;i++)
Inmultire(i);
for(int i=H[0];i>=1;i--)
fout<<H[i];
}
int main()
{
fin>>n;
patrate2();
return 0;
}