在本教程中,我们将讨论一个程序,以了解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: **