У моєму класі економіки ми з друзями любимо придумувати способи переставити цифри у формат дати (у форматі MM / DD / YY), щоб створити дійсне математичне рівняння. Здебільшого, ми можемо використовувати додавання, віднімання, множення, ділення, дужки та експоненціацію, крім конкатенації.
Ваша програма повинна робити щось подібне. Програма повинна імпортувати поточну дату та вставляти оператори для друку виразу відповідно до наступних правил.
- Цифри ОБОВ'ЯЗКОВО використовуватись у порядку. Перестановка цифр заборонена.
- Отриманий вираз повинен бути математично точним.
- Додавання, віднімання, множення, ділення, експоненція та використання дужок дозволяється. Так само конкатенація цифр. Однак не всі операції необхідні. Не можна використовувати знак віднімання, щоб зробити цифру від’ємною (наприклад,
-1+1+11=10
11 листопада 2010 р.). - Програма повинна працювати за 60 секунд на стандартній машині.
Наприклад, цей виклик було написано 10 листопада 2015 року. Програма інтерпретувала це як 10.10.2015. Вибірка вибірки буде (1+1)/10=1/5
.
Бонуси
Ви можете помножити кількість байтів у своєму коді на 0,9 для кожної з наступних програм, що підтримують вашу програму.
- Програма друкує всіх можливі вирази, які можна сформувати, розділивши нові рядки. Помножте на додаткові 0,95, якщо вирази перераховані у порядку збільшення додаткових символів.
- Програма також працює на дати MM / DD / РРРР, друкуючи можливість з першими двома цифрами року на додаток до можливості без. Якщо цей бонус поєднується з першим бонусом, всі можливості з першими двома цифрами року повинні бути надруковані.
- Програма також друкує рівняння , коли існує безліч Рівності (наприклад, на 11 листопада 2011 року,
1=1=1=1=1=1
буде надрукований, на додаток до можливостей , таких як1*1=1=1=1=1
,1*1*1=1=1=1
і1*1*1*1=1=1
. Все такі випадки повинні бути надруковані для першого бонусу повинна бути досягнута. - Програма підтримує перетворення на бази між 2 і 16. Зауважте, що якщо базису немає 10, всі числа в виразі повинні бути записані в одній базі і
(Base b)
повинні бути записані після виразу (ізb
заміненою відповідно).
Це кодовий гольф, тому застосовуються стандартні правила. Виграє найкоротший код у байтах.