Це питання вам запропонувала гра, в яку я люблю грати, коли застрягла в довгих телефонних зустрічах.
Враховуючи будь-які два рази за 24 годинний годинник (з 00:00 до 23:59), скільки дійсних математичних рівнянь може бути сформовано за весь час між ними, використовуючи лише основні арифметичні операції?
Введення: дві чотиризначні рядки (без двокрапки), що представляють дійсні часи протягом 24 годинного циклу.
Приклади:
Для введення = 0000, 1300
03:26 produces: "0+3*2=6" and "03*2=6" etc.
11:10 produces quite a few, including: "1*1=1+0" and "1=1=1^0" and "1=11^0" etc.
12:24 produces: "1/2=2/4" and "1=(2*2)/4" etc.
Дійсні операції:
- доповнення
- віднімання
- множення
- поділ (плаваюча точка)
- експоненцію
- факторіальний
Інші допустимі символи
- Круглі скобки
- Знаки рівності
Найкоротший код виграє.
Примітки
- Мета - знайти кількість дійсних виразів між двома разів, а не кількість разів, що містять дійсне вираження.
- Два рази, подані як вхідні дані, включаються в діапазон разів.
- Ви можете групувати цифри будь-яким способом, так що "1223" може бути "12 23" або "1 2 23" або "1 223" і т.д. і т.д.
- Ви можете використовувати стільки круглих дужок, скільки потрібно.
- Ви можете використовувати більше, ніж один
=
знак. Наприклад, час11:11
має дійсне вираження1=1=1=1
. - Якщо перший раз трапляється хронологічно після другого разу, діапазон разів повинен завершуватися так, ніби переходять на наступний день.
- Цифри повинні залишатися в їх первісному порядку - ви не можете повторно замовляти цифри.
- Під час кластеризації чисел нулі можуть абсолютно бути найпершою цифрою, і в цьому випадку вони ігноруються ("0303", кластеризовані як "03 03", - це лише дві цифри зі значенням 3.)
- НЕ МОЖЕТЕ використовувати знак мінус як одинарне заперечення. Тому "12:01" НЕ створює "1-2 = - (01)", але НЕ виробляє "1-2 = 0-1".
- НЕ МОЖЕТЕ додавати десяткових знаків до цифр. Тому "12:05" НЕ створює "1/2 = 0,5".
- Ніякого прив'язування фабрикантів - після цифри може бути не більше одного "!", Не більше, інакше багато разів мали б нескінченні рішення. Наприклад: "5!" діє, але "5 !!" не вірно.
0000 1300
повинні бути отримані рівняння, отримані 0000
та 1300
включені до підрахунку?