Pagini recente » Cod sursa (job #39585) | Cod sursa (job #2530163) | Cod sursa (job #516250) | Cod sursa (job #1535473) | Cod sursa (job #4577)
Cod sursa(job #4577)
#include<fstream.h>
int n, s[102][300],s1[102][300],i,j,k,sum[190],s2[190];
void mul(int A[], int B)
{
int i, t = 0;
for (i = 1; i <= A[0] || t; i++, t /= 10)
A[i] = (t += A[i] * B) % 10;
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/=10)
A[i] = (t += A[i] + B[i]) % 10;
A[0] = i - 1;
}
int main()
{ifstream f("race.in");
//f>>n;
n=100;
s[1][0]=s[1][1]=1;//s1[1]=0;
for(k=2;k<=n;k++)
{for(i=1;i<=n;i++)
{//s1[i+1]+=((i+1)*s[i]);
memcpy(s2,s[i],sizeof(s2));
mul(s2,i+1);
add(s1[i+1],s2);
memcpy(s2,s[i],sizeof(s2));
mul(s2,i);
add(s1[i],s2);
//s1[i]+=(i*s[i]);
}
memcpy(s,s1,sizeof(s1));
memset(s1,0,sizeof(s1));
}
ofstream g("race.out");
for(i=1;i<=n;i++)
{//sum+=s[i];
add(sum,s[i]);
}
for(i=sum[0];i>=1;i--)
g<<sum[i];
g.close();
return 0;
}