这样在求组合数的时候为了防止中间过程越界,可以c(m,n)=c(m-1,n-1)*m/n
int C(intn,int m)
{
if(m==0)
cout<<"1"<<endl;
else if (m>n)
cout<<"0"<<endl;
else
{
int c(1);
for(int i=1;i<=n-m;i++)
c=c*(i+m)/i;
return c;
}
}
这样在求组合数的时候为了防止中间过程越界,可以c(m,n)=c(m-1,n-1)*m/n
int C(intn,int m)
{
if(m==0)
cout<<"1"<<endl;
else if (m>n)
cout<<"0"<<endl;
else
{
int c(1);
for(int i=1;i<=n-m;i++)
c=c*(i+m)/i;
return c;
}
}