Полагаю, это слишком поздно для первоначального запроса, но я думаю, что некоторые ответы упускают суть - я не думаю, что он хочет генерировать случайные числа из распределения, но хочет сам распределение. Вот функция, чтобы сделать это
избегая расчета факториалов, которые могут стать большими.
double poisson( int k, double mean ) {
double p = std::exp(-mean);
double f = 1;
for ( int i=0 ; i<k ; i++ ) f *= mean/(i+1);
return p*f;
}