gerando números aleatórios com uma soma fixa
o desafio postado é gerar uma série de números pseudo-random cuja soma é igual a um valor predefinido. Especificamente, como gerar quatro números que, quando adicionados, iguais 40.
em vez de depender de um método que poderia influenciar a distribuição do primeiro número, uma abordagem mais uniforme é empregada. A solução utiliza uma estratégia de dividir o valor predefinido em segmentos menores, usando divisores selecionados aleatoriamente. f
d = 40 - gEsta técnica garante uma probabilidade igual para cada conjunto de números, garantindo uma distribuição uniforme. Os números aleatórios resultantes atendem ao requisito de somando o valor predefinido. def Constenhe_sum_sample_pos (n, total): "" "" Retorne uma lista escolhida aleatoriamente de n números inteiros positivos, resumindo para o total. Cada lista é igualmente provável que ocorra. "" " divisores = classificados (random.sample (intervalo (1, total), n - 1)) Return [a - b para a, b em zip (divisores [total], [0] divisores)]
para gerar números inteiros não negativos, uma transformação adicional é empregada:
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3