У цьому варіанті головоломки « Чотири четвереньки» вам слід використовувати до x
x's
(і жодного іншого числа) та визначеного набору операцій, щоб досягти кожного числа від 0 до 100. Якщо x = 4
тоді ви можете використовувати до чотирьох, 4s
і це питання стає класичним чотирма четвертками головоломки (за винятком того, що ви можете використовувати до чотирьох чотирьох, а не використовувати саме чотири з них). Ми припускаємо 1 < x <= 9
.
У цій версії дозволено використовувати лише такі оператори:
- Додавання (
+
), віднімання (-
), множення (*
), ділення (/
). Зауважте, це справжній поділ, так що5/2 = 2.5
. - Експоненція (наприклад, 4 ^ 4), оскільки це не передбачає додаткових символів, якщо писати звичайно вручну.
- Ви можете створити нові цілі числа шляхом об'єднання
xs
. Наприклад, ви можете скласти цілі числа4, 44, 444, 4444
.
Ви також можете використовувати дужки для групування номерів просто для того, щоб контролювати порядок оцінки операторів. Наприклад, ви не можете поєднувати дужки з конкатенацією, як у (4/4)(4/4) = (1)(1) = 11
.
Ніякі інші символи не можуть використовуватися і застосовується стандартний порядок операцій.
Ваша програма повинна генерувати правильне рішення для цього введення, якщо воно існує, x
у визначеному діапазоні, n
між 0
і 100
включно, якщо воно існує. Інакше ваш код повинен вивести щось, що свідчить про відсутність такого рішення.
Ви повинні мати змогу запустити ваше подання до завершення на вашій машині для будь-яких вхідних значень x
та n
дозволеного діапазону. Це кодовий гольф, тому найкоротше рішення виграє.
Це старе відповідне запитання використовує більше операторів (і лише 4), а отже, всі числа від 0 до 100 вирішуються, що не відповідає дійсності для цього завдання.
Вхід і вихід
Ваш код приймає два цілі числа x
і n
як вхідні дані, і повинен виводити рішення (або вказівку, що немає рішення) у будь-якому зручному для вас читаному форматі. Введення 4 6
означає, наприклад, "Використовуючи до чотирьох 4с, зробіть число 6". Так що, якщо вхід є, 4 6
вихід може бути (4+4)/4+4
.