C语言之函数调用06—彩球排列

时间:2024-08-12 13:04:32

//函数调用+递归法

/*

==========================================================

题目:将4个红球,3个白球。3个黄球排成一排,共同拥有多少种排法?球无编号!

==========================================================

*/

#include<stdio.h>

int J(int n)

{

if(n==0||n==1)

return 1;

else

return n*J(n-1);

}

int PL(int m,int n)

{

return J(m)/J(m-n)/J(n);

}

main()

{

int k,h;

k=PL(10,4)*PL(6,3)*PL(3,3);

printf("共同拥有%d种排法!\n",k);

}

/*

==========================================================

评:排列组合题目。关键是要理解排列和组合的含义,知道其公式:

A(m,n)=m!/(m-n)!

C(m,n)=m!/(m-n)!/n!

==========================================================

*/