S
Size: a a a
S
M
S
M
MV
M
MV
S
import math
def distribute(s, min_lim, max_lim):
portions = math.ceil(s / max_lim)
portion_avg = s / portions
portions_max = s - math.floor(portion_avg) * portions
return [math.ceil(portion_avg)] * portions_max + [math.floor(portion_avg)] * (portions - portions_max)
S
D!
import math
def blablabla(min_lim, max_lim, summ, proximity):
remains = summ % max_lim
if remains > proximity:
blablabla(min_lim, max_lim - 1, summ, proximity)
else:
if max_lim < min_lim:
print('OH NO!!!!!')
elif max_lim == min_lim and summ % max_lim > 0:
print('OH NO!!!!!')
else:
if remains == 0:
print('OH MY!!!!', [max_lim for _ in range(math.floor(summ / max_lim))])
else:
elems = [max_lim for _ in range(math.floor(summ / max_lim))]
if len(elems) > remains:
for i in range(remains):
elems[i] = elems[i] + 1
else:
for i in range(len(elems)):
elems[i] = elems[i] + math.floor(remains / len(elems))
print(elems)
blablabla(50, 4999, 26011, 100)
# >>> OH MY!!!! [4336, 4335, 4335, 4335, 4335, 4335]
никогда не думал что буду писать рекурсию на питоне))) а она
ещё и даже
вроде работает, лоолVV
MF
I
i
N
E
N
N
N
E