long cls_random::randomPossion(double lambda) { double x = -1, u; double log1, log2; log1 = 0; log2 = -lambda; do { u = cls_random::randomUniform(); log1 += log(u); x++; }while(log1 >= log2); return x; }
期望:E=lambda
方差:V=lambda
wiki: http://zh.wikipedia.org/wiki/%E6%B3%8A%E6%9D%BE%E5%88%86%E4%BD%88