LINUX.ORG.RU

История изменений

Исправление Lrrr, (текущая версия) :

пропущено 9-87+6+5+43+210

Удачно, как говорится, кодить с нейронками (смайлик клоун)

expr = ['9']


def rec(digit, cs, total):
    global expr
    if digit == 0:
        if total == 200:
            yield ''.join(expr)
        return

    expr += [str(digit - 1)]
    yield from rec(digit - 1, cs * 10 + digit - 1, total + cs * 9 + digit - 1)
    expr.pop()
    expr += ['+', str(digit - 1)]
    yield from rec(digit - 1, digit - 1, total + digit - 1)
    expr.pop()
    expr.pop()
    expr += ['-', str(digit - 1)]
    yield from rec(digit - 1, 1 - digit, total - digit + 1)
    expr.pop()
    expr.pop()


for ans in rec(9, 9, 9):
    print(ans)

PS лол, это у меня ответ неправильный. Ну клоун, получается :))

Исходная версия Lrrr, :

пропущено 9-87+6+5+43+210

Удачно, как говорится, кодить с нейронками (смайлик клоун)

expr = ['9']


def rec(digit, cs, total):
    global expr
    if digit == 0:
        if total == 200:
            yield ''.join(expr)
        return

    expr += [str(digit - 1)]
    yield from rec(digit - 1, cs * 10 + digit - 1, total + cs * 9 + digit - 1)
    expr.pop()
    expr += ['+', str(digit - 1)]
    yield from rec(digit - 1, digit - 1, total + digit - 1)
    expr.pop()
    expr.pop()
    expr += ['-', str(digit - 1)]
    yield from rec(digit - 1, 1 - digit, total - digit + 1)
    expr.pop()
    expr.pop()


for ans in rec(9, 9, 9):
    print(ans)