一个数学的组合问题,求解!
编程过程中遇到一个数学问题:
从6个班中选出3个同学组成学生会,每班最多只能选1个人,已知各班的人数分别为7人、4人、12人、8人、11人和6人,请问有多少种选法?
数学学得不好,请问有没有知道怎么解的?请赐教。
编程过程中遇到一个数学问题:
从6个班中选出3个同学组成学生会,每班最多只能选1个人,已知各班的人数分别为7人、4人、12人、8人、11人和6人,请问有多少种选法?
数学学得不好,请问有没有知道怎么解的?请赐教。
这样算结果是对的.但这样太麻烦了吧,如果题目是20班选10个人出来,呵呵.....
有没有更好的思路和算法??????最好推个公式出来.
#include "stdio.h"
main()
{
int i,j,k;
unsigned long num;
int c[6]={7,4,12,8,11,6};
num=0;
for (i=0;i<6;i++)
for (j=0;j<6;j++)
for (k=0;k<6;k++)
if(i!=j&&i!=k&&j!=k)
num=num+c[i]*c[j]*c[k];
printf("\nThe number is %ld\n",num);
getch();
}
[此贴子已经被作者于2006-1-11 23:31:38编辑过]
这外题目很有趣,想了一下,不知对不对
先从6个班中,每班选出一个人进行侯选:其选法共用:7*4*12*8*11*6=177408种
然后从侯选的6人当中选出3人,选法有C(6,3)(注:6为下标,3为上标)即P(6,3)/3!=6!/3!/3!=720/6/6=20
最后应该是177408*20=3548160种
哈哈,不知是否正确,请指教