编程过程中遇到一个数学问题:
从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种哈哈,不知是否正确,请指教