Показать сообщение отдельно

  #4  
Старый 24.05.2023, 02:00
chromiusj
Флудер
Регистрация: 10.08.2021
Сообщений: 6,010
С нами: 2505538

Репутация: 133


По умолчанию

можно так попробовать в принципе

Python:





[CODE]
import
itertools
import
random
def
find_combination
(
numbers
,
target_mean
,
batch_size
,
num_batches
)
:
closest_mean
=
float
(
'inf'
)
best_combination
=
None
combinations
=
itertools
.
combinations
(
numbers
,
batch_size
*
num_batches
)
for
combination
in
combinations
:
batches
=
[
combination
[
i
:
i
+
batch_size
]
for
i
in
range
(
0
,
len
(
combination
)
,
batch_size
)
]
if
len
(
set
(
number
for
batch
in
batches
for
number
in
batch
)
)
!=
len
(
numbers
)
:
continue
batch_means
=
[
sum
(
batch
)
/
len
(
batch
)
for
batch
in
batches
]
mean
=
sum
(
batch_means
)
/
len
(
batch_means
)
if
abs
(
mean
-
target_mean
)

 
Ответить с цитированием