Pagini recente » Cod sursa (job #1833975) | Cod sursa (job #1913433) | Cod sursa (job #2847115) | Cod sursa (job #2637385) | Cod sursa (job #484659)
Cod sursa(job #484659)
# include <fstream>
# include <cstdio>
# include <iostream>
# define B 10000
using namespace std;
int n, v[10000], a[10000], s[10000];
int main ()
{
ifstream fin ("patrate2.in");
freopen("patrate2.out", "w", stdout);
fin>>n;
int t, i, j;
v[0]=v[1]=1;
for(j=1;j<=n*n;++j)//2^n*n
{
for(i=1, t=0;i<=v[0] || t;++i, t/=B)
v[i]=(t+=v[i]*2)%B;
if (i-1>v[0])v[0]=i-1;
}
a[0]=a[1]=1;
for(int k=2;k<=n;++k)//n!
{
for (i=1, t=0;i<=a[0] || t;++i, t/=B)
a[i]=(t+=k*a[i])%B;
if (i-1>a[0])a[0]=i-1;
}
for(int i=1;i<=v[0];++i)
{
for(t=0, j=1;j<=a[0] || t;++j, t/=B)
s[i+j-1]=(t+=v[i]*a[j]+s[i+j-1])%B;
if (i+j-2>s[0])s[0]=i+j-2;
}
printf("%d",s[s[0]]);
for(int i=s[0]-1;i;--i)
printf("%04d", s[i]);
return 0;
}