При цьому:
1) Цифри 1 2 3 4 5 мають бути використані всі, стояти саме у такій послідовності і ніяк інакше
2) Перескакувати вперед через числа не можна.
3) Цифри можна склеювати у числа, наприклад: 12 345
4) Із числами можна використовувати:
- +
- -
- * або ·
- / або :
- ^ або ** - піднесення до ступеня, наприклад: 2^3 = 8
- ! - факторіал числа, наприклад: 5! = 120
- !! - подвійний факторіал - добуток всіх натуральних чисел з проміжку [1,n], що мають ту ж кратність, що n. 4!! = 2 * 4 = 8; 5!! = 1 * 3 * 5 = 15
- # - прайморіал - добуток всіх простих чисел, що не перевищують n. 4# = 2 * 3 = 6; 5# = 2 * 3 * 5 = 30
- sqrt(N) - квадратний корінь від N*, наприклад: sqrt(4) = 2
- M root N - корінь від N за основою M**, наприклад: 3 root 4^5 у традиційному записі має вигляд:
- ( ) - круглі дужки = логічні обмеження
- [ ] - квадратні дужки = ціла частина числа***, наприклад: [2/3] = 0
- { } - фігурні дужки = дробова частина числа {x} = x - [x]
- | | - прямі дужки = модуль числа, наприклад: |1-2| = 1
* оскільки малювати знак кореня тут не дуже зручно, будемо писати так: sqrt(...)****
** оскільки малювати основу кореня тут ще більш незручно
*** за термінологією Айверсона це функція "підлога". Приклади: [2.7] = 2, [-2.7] = -3
**** використовувати інші комп'ютерні математичні функції як то sqr(), sin(), rnd() тощо заборонено.
Пріоритет математичних операцій (впорядковано від слабких до сильних):
- root
- + -
- * · / :
- ^ **
- ! !! # sqrt () [] {} ||
Можна пропонувати інші варіанти представлення вже записаного числа, якщо запис числа елегантніший, ніж було запроновано раніше.
При цьому елегантність вимірюється у балах:
- + - * · / # дають по 1 балу
При добутку- (число)х(вираз в дужках)
- (число)х(корінь)
- (число)х(дріб)
- (число в ступені)х(вираз в дужках)
- (число в ступені)х(корінь)
- (число в ступені)х(число в ступені)
- (вираз в дужках)х(число в ступені)
- (вираз в дужках)х(вираз в дужках)
- (вираз в дужках)х(корінь)
- (корінь)х(число в ступені)
- (корінь)х(вираз в дужках)
- (корінь)х(корінь)
- (дріб)х(число в ступені)
- (дріб)х(корінь)
- (дріб)х(вираз в дужках)
- (факторіал)х(вираз в дужках)
- (факторіал)х(корінь)
знак добутку (* або ·) при підрахунку балів не враховується. - : ! дають 2 бали
Щоб взяти факторіал двічі, треба перший факторіал взяти в дужки: (3!)! = 720 - !! коштує 4 бали
- всі парні дужки () [] {} || дають 2 бали
- sqrt root дають 1 бал
вираз root для подальших маніпуляцій треба брати в дужки, але при порівнянні ці дужки не враховуються.
Наприклад: 1+(2 root 3^4)*5 - ^ або ** при підрахунку балів не враховуються.
Оскільки при піднесені до ступеня в традиційному запису ніякі знаки не використовуються, запис 2^(3*4) отримає один бал (за знак *).
Але для розуміння запису, використання дужок після ^ для ступеня у вигляді виразу з використанням знаків менш пріоритетних за ^ (**) є обов'язковим.
Елегантнішим вважатиметься запис, який отримав найменше балів.
За рівної кількості балів елегантнішим вважатиметься запис, чий найменш елегантний знак елегантніший.
За рівності найменш елегантних знаків порівнюється їх кількість.
За рівної кількості найменш елегантних знаків порівнюються наступні за елегантністю знаки.
За рівності знаків порівнюються знаки за елегантністю по позиціям зліва направо з урахуванням цифр.
Шкала елегантності знаків (впорядковано від більш до менш елегантних):
- цифра
- ^ **
- +
- -
- * ·
- / :
- !
- !!
- #
- sqrt
- root
- ()
- ||
- []
- {}
Приклад:
123 можна представити декількома методами:
123 = 1*2^(3+4)-5
123 = -12+3*45
Обидва записи мають однакову кількість балів за елегантність, а саме 3:
1*2^(3+4)-5: 1 бал за *, 0 балів за ^, 1 бал за +, 1 бал за -
-12+3*45: 1 бал за -, 1 бал за +, 1 бал за *
Обидва записи мають однакові найменш елегантні знаки - *
Кількість найменш елегантних знаків також однакова (1).
Те саме стосується і знаків "-" та "+" - тут повна рівність.
А от наступні найменш елегантні знаки у цих двох записів різні. В першому - це знак "^", а в другому - цифра.
Тому другий запис вважається більш елегантним.
Зверніть увагу, що знак "^" дав 0 балів, але при порівнянні знаків враховується як знак.