Виклик
Напишіть функцію або програму, яка приймає рядок введення, виконує дуже специфічні та дивно знайомі перемішування своїх символів та видає результат.
Необхідне переміщення може бути описане за допомогою наступного алгоритму:
- Позначте кожного символу на вході за допомогою індексу на основі 1.
- Запишіть символ 1 як вихід.
- Починаючи з символу №2, записуйте кожен інший символ у вихідний порядок, виключаючи сам символ 2. Іншими словами, запишіть символи 4, 6, 8, 10 тощо, як вихід.
- Починаючи з наступного числа символів n, який ще не записаний як вихід, запишіть кожен n-й символ до виводу, виключаючи сам символ n та виключаючи будь-який інший символ (за цифровою міткою), який ви, можливо, вже записали у висновок.
- Повторіть крок 4 до тих пір, поки він продовжує додавати нові символи до виводу.
- Залиште символи, що залишилися для виведення, у порядку.
Приклад
- Позначте символів.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 СОБАУТИКОРНЕР ОЛДДОКЯК
2. Напишіть перший символ для виводу:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27OLDDOCYAK 'SBEAUTYCORNER O
3. Запишіть усі інші символи, починаючи з 2, виключаючи 2.
12 3456789101112131415161718192021222324252627OLDDOCYAK'SBEAUTYCORNER O OA 'EUYCRE
4. Наступний ще не записаний символ - це символ № 3; пишіть кожен третій символ, починаючи з 3, але виключаючи сам символ 3, і будь-який символ, який уже написано.
12 3456789101112131415161718192021222324252627OLDDOCYAK'SBEAUTYCORNEROOA 'EUYCRE YB R
5. Повторіть крок 4, використовуючи наступний символ, символ 5.
4. Наступний ще не записаний символ - символ 5; пишіть кожен 5-й символ, починаючи з 5, але виключаючи сам символ 5, і будь-який уже написаний символ. (Це становить лише 25 символів).
12 3456789101112131415161718192021222324252627OLDDOCYAK'SBEAUTYCORNEROOA 'EUYCREYB R N
5. Наступний символ - 7; але 14, 21 вже написано, тому більше символів не буде виведено, якщо ми повторимо крок 4. Таким чином, ми зробили з 5.
6. Випишіть інші символи в порядку.
12 3456789101112131415161718192021222324252627OLD DOCYAK'SBEAUTYCORNEROOA 'EUYCREYB RN LDDCKSATO
Правила
Введення та вихід можуть здійснюватися за допомогою стандартного вводу / стандартного виводу, рядків або масивів символів.
Якщо ви читаєте в якості стандартного введення, ви можете припустити, що існує зворотний новий рядок, або що весь вхід містить рядок. Персонажі нового рядка не беруть участь у перетасуванні.
Так само, за вашої зручності, ваш вихід може мати або зворотний новий рядок, або ні.
Стандартні лазівки заборонені.
Це змагання з кодового гольфу. Найменший код у байтах виграє.
Випробування
123456789ABCDEF -> 1468ACE9F2357BD
OLD DOC YAK'S BEAUTY CORNER -> O O A' EUYCREYB RNLDDCKSATO
Blue boxes use a 2600hz tone to convince telephone switches that use in-band signalling that the caller is actually a telephone operator.
->
Bebxsuea20h oet ovnetlpoesice htuei-adsgaln httecle satal eehn prtre 0ncce ha nng aiuapootnt ihyon atallu o s 6z oi ehwstsnbilt lr clee.