C语言:组合数递归

题目:C语言:组合数递归_第1张图片

#include
int fuc(int x)
{
	int m;
	if(x==0||x==1) m=1;
	else 
	{
	    m=x*fuc(x-1);
	} 
    return m;
}
int main()
{
    int n,k,m,h,i;
    while(scanf("%d %d",&n,&k)!=EOF)
    {
   	    if(n==k||k==0) printf("%d\n",fuc(n)/fuc(n));
   	    else
   	    {
   	    	m=fuc(n-1);
	        h=fuc(k)*fuc(n-1-k);
	        i=fuc(k-1)*fuc(n-k);
            printf("%d\n",m/h+m/i);
		}
    }
    return 0;
}

你可能感兴趣的:(C语言:组合数递归)