@HasHas2015

Как решить задачу в расстановке арифметических знаков на Python?

Добрый день встретился со следующей задачей. Видел где-то подобный код, но сейчас не могу найти. Суть задачи, вы задаете N чисел (причем они могут быть не целые). Основной задачей является расстановка знаков "+" и "-", так чтобы в итоге получилось определенное число.

Например, на вход даны 3 числа: 1983, 86, 2032. Нужно определить при какой комбинации они дадут в итоге число: 135. То есть необходимо определить позиции чисел и арифметические знаки между ними. Причем на вход может даваться около 100 чисел. Поэтому простой перебор напрягает.

Комбинация решения получается 2032 - 1983 + 86 = 135. Каким образом можно реализовать это на коде Python? И можно ли?
  • Вопрос задан
  • 740 просмотров
Пригласить эксперта
Ответы на вопрос 2
EvilsInterrupt
@EvilsInterrupt
System programming, Reversing Engineering, C++
Недавно смотрел учебник по JavaScript на habrahabr.ru. Организован в виде набора постов на хабре. В разделе про рекурсию там было подобное решение. Посмотрите, возможно, это то что Вам нужно
Ответ написан
Комментировать
GavriKos
@GavriKos
Эта задача - сугубо алгоритмическая. Поэтому решить ее можно на любом языке, обладающем полнотой по Тьюрингу. Питон таковым языком является.

Как реализовать? Составляете алгоритм на бумаге, потом реализуете, как всегда. За вас алгоритм никто не напишет.

Если смущает полный перебор - посмотрите на генетические алгоритмы. Когда то в ВУЗе еще решали именно эту задачу ген.алгоритмами - прекрасно работало. Ну или в гугл, думаю немало алгоритмов есть.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы