zoj1619

来源:互联网 发布:大数据对驾校的影响 编辑:程序博客网 时间:2024/05/19 09:13

题目大意:

有N个人,每个人买了一个礼物,现在礼物混在一起。
问恰好有M个人拿到自己礼物的概率

解题思路:

排列组合问题

代码如下:

#include <stdio.h>int m, n; double a[101];int main(){a[1] = 0, a[2] = 1;int i;for(i = 3; i < 101; i ++){   a[i]=(i-1)*(a[i-1]+a[i-2]);}      while(scanf("%d %d", &n, &m) != EOF)  {     double pb = 1;   if(n == m)   {    for(i = 1; i <= n; i ++)    {     pb /= double(i);    }   }   else         {    pb *= a[n - m];    for(i = 1; i <= m; i ++)    {     pb /= double(i);    }    for(i = 1; i <= n - m; i ++)    {     pb /= double(i);    }   }   printf("%0.8lf\n", pb);  }return 0;}
0 0
原创粉丝点击