Z Wikipedii Zestaw teoretycznej definicji liczb naturalnych
Zbiór N liczb naturalnych jest zdefiniowany jako najmniejszy zbiór zawierający 0 i zamknięty pod funkcją następczą S zdefiniowaną przez S (n) = n ∪ {n}.
Pierwsze kilka liczb zdefiniowanych w ten sposób to 0 = {}, 1 = {0} = {{}}, 2 = {0,1} = {{}, {{}}}, 3 = {0,1,2 } = {{}, {{}}, {{}, {{}}}}.
Korzystając z tej definicji liczb naturalnych, policz długość łańcucha.
Wprowadź ciąg znaków od a-zA-Z o dowolnej długości
Wyprowadza długość łańcucha w ustawionej notacji bez separatorów
Przykłady
Wpisz pusty ciąg
Wyjście {}
Wprowadź a
Dane wyjściowe {{}}
Wpisz aaaa
Wyjście {{} {{}} {{} {{}}} {{} {{}} {{} {{}}}}}
Dla czytelności wyjście dla „aaaa” z separatorami wynosi
{
{}
{{}}
{{} {{}} }
{{} {{}} {{} {{} } } }
}
Warunki
- W kodzie nie ma cyfr od 0 do 9;
- Bez użycia konwersji kodu znaków do generowania liczb;
- Bez użycia + - * / do obliczeń arytmetycznych, w tym zwiększania i zmniejszania;
- Żadnych operacji matematycznych innych niż logika logiczna;
- Łańcuch wejściowy nie liczy się przy określaniu długości bajtu;
Zwycięzca Najkrótsza długość kodu w bajtach.
Ponieważ jest to moje pierwsze pytanie, mam nadzieję, że wyjaśniłem je wystarczająco rygorystycznie. Przyjmujemy przyjazną radę.
f(n-1)
?