Тема: Знайти математичний приклад за мінімальну кількість дій
Є чотири змінних (які не можуть змінюватися):
х1 = 0,2
х2 = 0,3
х3 = 0,4
х4 = 0,5
1) Потрібно знайти математичний приклад з найменшим використанням арифметичних дій по відповіді до прикладу.
2) По пріоритету арифметичних дій, більш пріоритетні ті варіанти що використовують "+","-" чим "*","/"
Перший пріоритет "+", "-"
Другий пріоритет "*","/"
Якщо є вибір, що використати для створення "математичного прикладу", між: "+","-" і "*","/" потрібно обирати "+","-"
Тобто:
а) Якщо "відповіді до прикладу" = 0,4. Для цієї відповіді підходять: х1/х4 -> 0,2/0,5 і х1+х1 -> 0,2+0,2
оптимальнішим буде варіант: х1+х1. Тому що дії "+,-" пріоритетній чим "*,/"
б) Якщо "відповіді до прикладу" = 0,16. Для цієї відповіді підходять: х3*х3 -> 0,4*0,4 i х4*х3-х3 -> 5*4-4 i х4+х4+х3+х1 -> 5+5+4+2 i т.д.
оптимальнішим буде варіант: х3*х3. Тому що менша кількість дій важливіша чим пріоритет арифметичних дій
Ця задача схожа на задачку "Знаходження суми з найменшою кількістю монет" для якої є "Жадібний алгоритм"
Різниця в тому, що в даному варіанті є не тільки дія "+", а ще "-", "*", "/". А також пріоритет дій.
Наприклад:
Ввід: 0,4 Відповідь: х1+х1
Ввід: 0,16 Відповідь: х3*х3
Ввід: -0,3 Відповідь: х1-х4
Запитання:
Який алгоритм підійде для такої задачі ? Я зараз використовую алгоритм перебору, але він довго працює
Напишіть чи ви зрозуміли умову. Якщо ні, то що не зрозуміло ?