З Вікіпедії Набір-теоретичне визначення натуральних чисел
Множина N натуральних чисел визначається як найменший набір, що містить 0, і закритий під функцією спадкоємця S, визначеної S (n) = n ∪ {n}.
Перші кілька визначених таким чином чисел: 0 = {}, 1 = {0} = {{}}, 2 = {0,1} = {{}, {{}}}, 3 = {0,1,2 } = {{}, {{}}, {{}, {{}}}}.
Використовуючи це визначення натуральних чисел, підраховують довжину рядка.
Введіть рядок символів з a-zA-Z будь-якої довжини
Виведіть довжину рядка в заданих позначеннях без роздільників
Приклади
Введіть порожній рядок
Вихід {}
Введення a
Вихід {{}}
Вхід aaaa
Вихід {{} {{}} {{} {{}}} {{} {{}} {{} {{}}}}}
Для читабельності вихід для 'aaaa' з роздільниками є
{
{}
{{}}
{{} {{}} }
{{} {{}} {{} {{} } } }
}
Умови
- У коді немає цифр від 0 до 9;
- Немає використання перетворення символьного коду для генерації чисел;
- Не застосовувати + - * / для арифметичних обчислень, включаючи збільшення та зменшення;
- Немає математичних операцій, крім логічної логіки;
- Рядок введення не враховується при визначенні довжини байтів;
Найкоротша довжина коду переможця в байтах.
Оскільки це моє перше запитання, я сподіваюся, що я зрозумів це достатньо чітко та суворо. Дружні поради прийняті.
f(n-1)
?