Pagini recente » Cod sursa (job #2689104) | Cod sursa (job #2802526) | Cod sursa (job #345681) | Cod sursa (job #2459269) | Cod sursa (job #2384434)
#include <fstream>
#include <cstring>
using namespace std;
ifstream cin("dirichlet.in");
ofstream cout("dirichlet.out");
void prod(int a[],int c[],int k)
{
int tr,aux,i;
memset(c,0,1000*4);
c[0]=a[0];
for(i=1;i<=a[0];i++)
c[i]=a[i]*k;
tr=0;
for(i=1;i<=c[0];i++)
{
aux=c[i]+tr;
c[i]=aux%10;
tr=aux/10;
}
while(tr)
{
c[++c[0]]=tr%10;
tr/=10;
}
}
void print(int v[])
{
int i;
for(i=v[0];i>=1;i--)
cout<<v[i];
}
void cat(int a[],int c[],int k)
{
int i,r=0;
memset(c,0,1000*4);
c[0]=a[0];
for(i=a[0];i>=1;i--)
{
r=r*10+a[i];
c[i]=r/k;
r=r%k;
}
while(c[0]>1 && c[c[0]]==0)
c[0]--;
}
void egal(int a[],int b[])
{
int i;
a[0]=b[0];
for(i=1;i<=a[0];i++)
a[i]=b[i];
}
int N[10005];
int a[10005];
int main()
{
int n,k,d,n1,fact1=1,fact2=1,fact3=1,i,x;
cin>>n;
a[0]=1;
a[1]=1;
for(i=n+1;i<=2*n;i++)
{
prod(a,N,i);
egal(a,N);
}
for(i=1;i<=n+1;i++)
{
cat(N,a,i);
egal(N,a);
}
print(N);
return 0;
}