概率计算的问题

来源:百度知道 编辑:UC知道 时间:2024/04/28 01:12:33
大家帮忙做一个概率题,在下不会:现在有a个碗(a大于等于21,小于等于183)并排排成一条线,要用5根筷子把它们分成6份,要求左边一堆碗的个数要比右边一堆碗的个数少(不能相同),但是最大的一堆碗的数目不能超过33个有多少种分法?
秦汉孑遗 同学,我这里的a(也即你那里面的q)是一个固定的数值,所以你程序似乎需要修改一处(不妨设碗的总数是total)

{

if(total==(a+b+c+m+n+p))
sum++;
这样就可以了,似乎。麻烦你将total改成102,然后告诉我答案。分就先给你了。

还有就是,我说的是不大于33,意思就是可以等于33,所以还需要修改一下范围。
你原程序其实就是计算的C(6,32)

使用计算机编程可以很快解决该问题。以下是我使用C++语言编写的程序

#include "iostream.h"

void main()

{

 int a=0,b=0,c=0,m=0,n=0,p=0,q,sum=0;

 for(a=1;a<28;a++)

  for(b=a+1;b<29;b++)

   for(c=b+1;c<30;c++)

    for(m=c+1;m<31;m++)

     for(n=m+1;n<32;n++)

      for(p=n+1;p<33;p++)

      {

       q=a+b+c+m+n+p;

       if(q>=21&&q<=183)

        sum++;

       //cout<<"第一堆:"<<a<<","<<"第二堆:"<<b<<","<<"第三堆:"<<c<<","<<"第四堆:"<<m<<","<<"第五