Pagini recente » Cod sursa (job #2355410) | Cod sursa (job #749604) | Cod sursa (job #1304434) | Cod sursa (job #1300734) | Cod sursa (job #524280)
Cod sursa(job #524280)
# include <fstream>
# include <iostream>
# define DIM 300
# define BB 10
using namespace std;
int n, sol[DIM], rez[DIM];
void inm(int A[], int b)
{
int i, t = 0;
for (i = 1; i <= A[0] || t; i++, t /= BB)
A[i] = (t += A[i] * b) % BB;
A[0] = i - 1;
}
void add(int A[], int B[])
{
int i, t = 0;
for (i=1; i<=A[0] || i<=B[0] || t; i++, t/=BB)
A[i] = (t += A[i] + B[i]) % BB;
A[0] = i - 1;
}
void calc (int a, int b)
{
int p=1, j=2, i=a+1;
rez[0]=rez[1]=1;
for(;j<=b && i<=a+b;++i)
{
p*=i;
while(j<=b && p%j==0)
p/=j, ++j;
}
inm(rez,p);
for(;i<=a+b;++i)
inm(rez, i);
add(sol, rez);
}
int main ()
{
ifstream fin ("nunta.in");
ofstream fout ("nunta.out");
fin>>n;
sol[0]=sol[1]=0;
for(int i=0;2*i<=n;++i)
calc(i, n-2*i);
for(int i=sol[0];i;--i)
fout<<sol[i];
return 0;
}