Перестановка з безлічі є біектівен функція . Наприклад, якщо то функція є перестановкою:
Ми також можемо мати перестановки на нескінченних множинах, візьмемо як приклад: Функція - перестановка, змінюючи заміну непарних і парних цілих чисел у блоках по два. Перші елементи наступні:
Виклик
Ваше завдання для цього завдання - написати функцію / програму, що реалізує будь-яку 1 перестановку на додатних натуральних числах. Оцінка вашого рішення - це сума кодових точок після зіставлення їх з реалізованою перестановкою.
Приклад
Припустимо, ми беремо перелічену вище перестановку, реалізовану з Python:
def pi(x):
return x - 1 + 2*(x % 2)
Символ d
має , . Якщо ми робимо це для кожного персонажа, ми отримуємо:
Сума всіх цих відображених символів становить , це буде оцінка за цю функцію.
Правила
Ви будете реалізовувати перестановку як функцію чи програму
- задане натуральне число , повернення / вихід
- для цілей цього завдання має НЕ містить
- перестановка повинна нетривіально перетворювати нескінченну підмножину
- вашій функції / програмі заборонено читати власне джерело
Оцінка балів
Оцінка визначається сумою всіх точок коду (нульові байти не можуть бути частиною вихідного коду) під цією перестановкою (кодові точки залежать від вашої мови 2 , ви можете вільно використовувати SBCS, UTF-8 тощо) ваша мова це підтримує).
Подача з найнижчою оцінкою виграє, зв'язки розриваються за допомогою раннього подання.
За винятком перестановок, які перестановлюють лише кінцевий підмножина , це означає, що множина має бути нескінченним.
Якщо це покращить ваш показник, ви можете, наприклад, використовувати UTF-8 з кодуванням подачі желе замість звичайної SBCS.