[ Web Proxy ]
URL:
Viewing: https://ru.cppreference.com/cpp/numeric/random/negative_binomial_distribution [Back]  [Original]

std::negative_binomial_distribution cppreference.com
cppreference.com

std::negative_binomial_distribution

cppreference.com

<metanoindex/>

 
C++
(C++20)
(C++20)
(C++11)
(C++20)
/
(C++11)
(C++11)
(C++11)
(C++17)
 
(C++17)
(C++20)
(C++11)
(C++11)
(C++17)
(C++17)
(C++20)
(C++20)
(C++11)
(C++17)
(C++20)
(C++23)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
 
 
 
<tbody> </tbody>
template< class IntType = int > class negative_binomial_distribution;
( C++11)
i ,
:
Produces random non-negative integer values i, distributed according to discrete probability function:
Google.
. .
P(i|k,p) =

k + i 1
i


pk
(1 p)i
/ ( p), k .
:
The value represents the number of failures in a series of independent yes/no trials (each succeeds with probability p), before exactly k successes occur.
Google.
. .

-

result_type IntType
param_type
,
:
the type of the parameter set, unspecified
Google.
. .

-

:
constructs new distribution
Google.
. .

(public -) []
:
resets the internal state of the distribution
Google.
. .

(public -) []
:
Generation
Google.
. .

(public -) []
:
Characteristics
Google.
. .
' ( )
:
returns the k distribution parameter (number of trial failures)
Google.
. .

(public -) []
( true )
:
returns the p distribution parameter (probability of a trial generating true)
Google.
. .

(public -) []
:
gets or sets the distribution parameter object
Google.
. .

(public -) []
:
returns the minimum potentially generated value
Google.
. .

(public -) []
:
returns the maximum potentially generated value
Google.
. .

(public -) []

,

(C++11)(C++11)( C++20)

() []

/
() []

#include <iostream>
#include <iomanip>
#include <string>
#include <map>
#include <random>

int main()
{
    std::random_device rd;
    std::mt19937 gen(rd());
    // Pat goes door-to-door selling cookies
    // At each house, there's a 75% chance that she sells one box
    // how many times will she be turned away before selling 5 boxes?
    std::negative_binomial_distribution<> d(5, 0.75);

    std::map<int, int> hist;
    for(int n=0; n<10000; ++n) {
        ++hist[d(gen)];
    }
    for(auto p : hist) {
        std::cout  << p.first << ' ' << std::string(p.second/100, '*') << '\n';
    }
}

:

0 ***********************
1 *****************************
2 **********************
3 *************
4 ******
5 ***
6 *
7
8
9
10
11


Web Proxy Viewer  |  New URL  |  Original Page