Спочатку поговоримо про послідовності Бітті . Давши позитивне ірраціональне число r , ми можемо побудувати нескінченну послідовність, помноживши додатні цілі числа на r у порядку і взявши підсумок кожного результуючого обчислення. Наприклад,
Якщо r > 1, ми маємо особливу умову. Ми можемо утворити інше ірраціональне число s як s = r / ( r - 1). Потім це може створити власну послідовність Beatty, B s . Акуратний трюк полягає в тому, що B r і B s є взаємодоповнюючими , це означає, що кожне додатне ціле число знаходиться в точно одній з двох послідовностей.
Якщо встановити r = ϕ, золоте співвідношення, то отримаємо s = r + 1 і дві спеціальні послідовності. Нижче послідовність Wythoff для г :
1, 3, 4, 6, 8, 9, 11, 12, 14, 16, 17, 19, 21, 22, 24, 25, 27, 29, ...
і верхню послідовність Вітофа для s :
2, 5, 7, 10, 13, 15, 18, 20, 23, 26, 28, 31, 34, 36, 39, 41, 44, 47, ...
Це послідовності A000201 та A001950 на OEIS відповідно.
Змагання
Враховуючи ціле позитивне введення 1 <= n <= 1000
, виведіть одне з двох різних значень, що вказують, чи є вхід у нижній послідовності Вайтофа чи у верхній послідовності. Вихідні значення можуть бути -1
і 1
,, true
і false
, upper
і lower
т.д.
Хоча поданий алгоритм повинен теоретично працювати для всіх вхідних даних, на практиці він повинен працювати лише з першими 1000 вхідними номерами.
I / O та правила
- Введення та вихід можуть бути задані будь-яким зручним способом .
- Вхідні та вихідні дані можуть вважатись відповідними типу рідного номера вашої мови.
- Прийнятна або повна програма, або функція. Якщо функція, ви можете повернути вихід, а не надрукувати його.
- Стандартні лазівки заборонені.
- Це код-гольф, тому застосовуються всі звичайні правила гольфу, і найкоротший код (у байтах) виграє.