rand()
, rand() * rand()
, rand() * rand() * rand()
:rand()
дан для ориентации, он синий. Мат. пакеты я взял ради графика, можешь использовать random.random()
from random import random, randint
N, M = 1000, 30
tasks = [random() for _ in range(N)]
w = sum(tasks)
for i in range(N):
tasks[i] /= w
servers = [0.] * M
for t in tasks:
servers[randint(0, M - 1)] += t
print(min(servers), max(servers))