Ідея цього в основному з BIO 2017 q1 . У мене виникла ідея опублікувати цей виклик із мого виклику Бінарні послідовності , оскільки багатьом людям здавалося, що це подобається.
Крім того, це перший виклик, який я опублікував, не публікуючи на пісочниці. Я видалю його, якщо нікому це не сподобається.
Правила
Візьміть послідовність цифр у потрійному (основа 3); це може бути рядок, масив або числове значення разом із кількістю попередніх нулів.
Для кожного ряду трикутника створюється рядок нижче, поки в останньому рядку не залишиться лише одна цифра. Щоб знайти цифру нижче двох інших цифр, цифра буде такою ж, як дві над нею, якщо ці дві інші цифри вище однакові. Інакше це буде цифра, яка не дорівнює жодному з них. Ось приклад:
0 0 1 2 0 1 2 2
0 2 0 1 2 0 2
1 1 2 0 1 1
1 0 1 2 1
2 2 0 0
2 1 0
0 2
1
Від вас очікується лише повернення останнього ряду.
Зробіть короткий код.
Випробування
0 -> 0
11 -> 1
10 -> 2
000 -> 0
012 -> 1
21102 -> 2
201021 -> 1
111111 -> 1
1020202020 -> 2
0212121210 -> 0
3&(|2+/\-)~<:@#