C ++中的negative_binomial_distribution与示例

在本教程中,我们将讨论一个程序,以了解C ++中的negative_binomial_distribution。

此函数遵循负二项式离散分布,并根据此随机分布生成整数。

示例

#include <bits/stdc++.h>
using namespace std;
int main() {
   //设置实验次数
   const int exps = 10000;
   const int numberstars = 100;
   default_random_engine generator;
   negative_binomial_distribution<int> distribution(4, 0.5);
   int p[10] = {};
   for (int i = 0; i < exps; ++i) {
      int counting = distribution(generator);
      if (counting < 10)
         ++p[counting];
   }
   cout << "Negative binomial distribution with "<< "( k = 4, p = 0.5 ) :" << endl;
   //从数组中打印序列
   for (int i = 0; i < 10; ++i)
      cout << i << ": " << string(p[i] * numberstars / exps, '*') << endl;
   return 0;
}

输出结果

Negative binomial distribution with ( k = 4, p = 0.5 ) :
0: *****
1: ************
2: ****************
3: ***************
4: *************
5: **********
6: ********
7: *****
8: ***
9: **