Найти точное или ближайшее решение [дубликата]

0

Как написать программу, которая вычисляет математическое выражение, состоящее из заданных чисел, которое оценивает и данный результат? Если выражение, которое оценивает точный результат, не существует, то вычисляется ближайший результат. Пример: вам предоставляется случайный результат: 520, и вам дается 6 случайных чисел: 2,4,1,6,15,44. Используя операнды +, -, *,/и 6 случайных чисел, найдите этот результат 520 или ближайший номер до 520. Любые идеи?

Показать ещё 3 комментария
Теги:
algorithm

1 ответ

1

Это проблема NP-hard. Вы должны использовать все возможности для решения проблемы. Если вы хотите сократить время, вы можете попытаться найти эвристический метод, чтобы приблизиться к возможному решению (и сократить время на решение). Однако это может быть не так просто, как разработка метода грубой силы.

Это займет довольно много времени, когда количество входов велико.

Если вы хотите пойти дальше, вот ключевые слова: np, np-complete, np-hard, сложность, эвристика

  • 0
    Благодарю. Я собираюсь сначала попробовать метод грубой силы.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню