rand()
, rand() * rand()
, rand() * rand() * rand()
:rand()
дан для ориентации, он синий. Мат. пакеты я взял ради графика, можешь использовать random.random()
l = [1, 2, -6, 7, 4, 3]
le = len(l)
step0, step1, step2 = [None, []], [None, None], [None, None]
l += [0, 0] # добьём незначащими нулями
for i in range(le):
x, y, z = l[i:i + 3]
for j, pos in enumerate(step0):
if pos is None:
continue
newpos = [*pos, -x]
if step1[j] is None or sum(step1[j]) < sum(newpos):
step1[j] = newpos
newpos = [*pos, x, -y]
if step2[j] is None or sum(step2[j]) < sum(newpos):
step2[j] = newpos
step0, step1, step2 = step1, step2, [[*pos, x, y, -z], None]
best = max((pos for step in (step0, step1, step2) for pos in step if pos is not None), key=sum)
print(best[:le])
function* permutatins(s) {
if (s.length > 1)
for (let i = 0; i < s.length; i++)
for (let t of permutatins(s.slice(0, i) + s.slice(i + 1)))
yield s.charAt(i) + t;
else yield s;
}
for (let s of permutatins('941'))
console.log(s);
ни разу программированием не занималась,Это не дело, один-то раз уж надо попробовать.
0 ->
1 -> 28, 19, 10
2 -> 20
3 -> 12
4 ->
5 -> 5
6 -> 15, 33
7 ->
8 -> 17
Натыкался на статьи, где подробно пишут про это.
бросаем по два раза и ждем появления чего-то первого.
как сделать так чтобы он там открылся, запустился и выдал результат