Olá amigo, aí vai: Função que gera dois numeros aleatorios (y1 e y2) seguindo distribuicao normal. A funcao ranf() gera numeros aleatorios entre 0 e 1 seguindo distribuicao uniforme ============================================= float x1, x2, w, y1, y2; do { x1 = 2.0 * ranf() - 1.0; x2 = 2.0 * ranf() - 1.0; w = x1 * x1 + x2 * x2; } while ( w >= 1.0 ); w = sqrt( (-2.0 * ln( w ) ) / w ); y1 = x1 * w; y2 = x2 * w; ============================================= FONTE: http://www.taygeta.com/random/gaussian.html