发新话题
打印

[求助] 一道数学题

一道数学题

把18枚棋子摆成五堆,每堆的棋子都不一样多,共有多少不同摆法?

TOP

先按 一、二、三、四、五。分好5堆共用15个棋子,剩下3枚棋子列举吧。
本帖最近评分记录

TOP

一共有387690种摆放方法
   是个概率问题很简单的
不会的话给我邮件
本帖最近评分记录

TOP

若不考虑顺序,就三种:
     12348,12357,12456
若考虑顺序,
         5!×3
本帖最近评分记录

TOP

以上,视18枚棋子无差异

TOP

若18枚棋子各不相同且考虑顺序,则
X = 18×(17×16÷2)×(15×14×13÷6)×(12×11×10×9÷24)×1
       +18×(17×16÷2)×(15×14×13÷6)×(12×11×10×9×8÷120)×1
       +18×(17×16÷2)×(15×14×13×12÷24)×(11×10×9×8×7÷120)×1
若18枚棋子各不相同且不考虑顺序,则X÷120
本帖最近评分记录

TOP

引用:
原帖由 badun98 于 2008-2-10 15:29 发表
若18枚棋子各不相同且考虑顺序,则
X = 18×(17×16÷2)×(15×14×13÷6)×(12×11×10×9÷24)×1
       +18×(17×16÷2)×(15×14×13÷6)×(12×11×10×9×8÷120)×1
       +18×(17×16÷ ...
强人!不过考虑多了.

TOP

应该是一个五元一次不定方程的正整数解且解各不相同的问题。即x+y+z+u+v+t=18,x=1,y=2,z=3,u=4,则t=8,考虑顺序,共120种,若取x=1,y=2,z=3,u=5则t=7,考虑顺序,也是120种;若取x=1,y=2,z=4,u=5,则t=6,考虑顺序又有120种,因此满足条件的分法共有360种

TOP

用c语言编程算得360种:
#include<stdio.h>
void main()
{
long int a[5],j,k,m=0,n=0,f;
for(a[0]=1;a[0]<=8;a[0]++)
for(a[1]=1;a[1]<=8;a[1]++)
for(a[2]=1;a[2]<=8;a[2]++)
for(a[3]=1;a[3]<=8;a[3]++)
for(a[4]=1;a[4]<=8;a[4]++)
{
  f=0;
  for(j=0;j<5;j++)
   for(k=j+1;k<5;k++)
    {
     if(a[j]!=a[k])
      f=f+1;
        if((a[0]+a[1]+a[2]+a[3]+a[4]==18)&&(f==10))
     n++;
   }
  }
printf("%d\n",n);
}

TOP

真是高人啊
追寻心灵自由飞翔的天空,我和你!!
【语文心苑】欢迎你指导!
请大家支持教育资源共享区,共建优质资源区!!

TOP

学习了,感谢各位!!

TOP

引用:
原帖由 luobinzbj 于 2008-2-12 21:59 发表
用c语言编程算得360种:
#include
void main()
{
long int a[5],j,k,m=0,n=0,f;
for(a[0]=1;a[0]
....无话好说

TOP

发新话题