Pagini recente » Cod sursa (job #928166) | Cod sursa (job #87573) | Cod sursa (job #1013462) | Cod sursa (job #30821) | Cod sursa (job #981616)
Cod sursa(job #981616)
#include <fstream>
using namespace std;
int n,r,l;
long long pr1[25],pr2[350],pr3[400];
int main ()
{
ifstream in ("patrate2.in");
in>>n;
in.close();
pr1[0]=1; pr1[1]=1; pr2[0]=1; pr2[1]=1;
for (int i=1;i<=n;++i)
{
for (int j=1;j<=pr1[0];++j)
{
pr1[j]=pr1[j]*i+r;
r=0;
if (pr1[j]>999999999)
{
r=pr1[j]/1000000000;
pr1[j]=pr1[j]%1000000000;
}
}
l=pr1[0];
while (r>0) { ++l; pr1[l]=r; r=0; if (pr1[l]>999999999) { r=pr1[l]/1000000000; pr1[l]=pr1[l]%1000000000; } }
if (l>pr1[0]) pr1[0]=l;
}
for (int i=1;i<=(n*n);++i)
{
for (int j=1;j<=pr2[0];++j)
{
pr2[j]=pr2[j]*2+r;
r=0;
if (pr2[j]>999999999)
{
r=pr2[j]/1000000000;
pr2[j]=pr2[j]%1000000000;
}
}
l=pr2[0];
while (r>0) { ++l; pr2[l]=r; r=0; if (pr2[l]>999999999) { r=pr2[l]/1000000000; pr2[l]=pr2[l]%1000000000; } }
if (pr2[0]<l) pr2[0]=l;
}
for (int i=1;i<=pr1[0];++i)
{
for (int j=1;j<=pr2[0];++j)
{
pr3[i+j-1]=pr3[i+j-1]+(pr1[i]*pr2[j])+r;
r=0;
if (pr3[i+j-1]>999999999) { r=pr3[i+j-1]/1000000000; pr3[i+j-1]%=1000000000; }
}
l=i+pr2[0]-1;
while (r>0) { ++l; pr3[l]=pr3[l]+r; r=0; if (pr3[l]>999999999) { r=pr3[l]/1000000000; pr3[l]%=1000000000; } }
if (pr3[0]<l) pr3[0]=l;
}
ofstream out ("patrate2.out");
out<<pr3[pr3[0]];
for (int i=pr3[0]-1;i>=1;--i)
{
if (pr3[i]>99999999) out<<pr3[i];
else if (pr3[i]>9999999) out<<"0"<<pr3[i];
else if (pr3[i]>999999) out<<"00"<<pr3[i];
else if (pr3[i]>99999) out<<"000"<<pr3[i];
else if (pr3[i]>9999) out<<"0000"<<pr3[i];
else if (pr3[i]>999) out<<"00000"<<pr3[i];
else if (pr3[i]>99) out<<"000000"<<pr3[i];
else if (pr3[i]>9) out<<"0000000"<<pr3[i];
else out<<"00000000"<<pr3[i];
}
out.close();
}