Fascynuje mnie, jak litery „H” i „I” są bardzo podobne. „H” oznacza poziomy obrys otoczony dwoma pionowymi obrysami; „I” jest pionowym obrysem otoczonym dwoma poziomymi obrysami (w zależności od czcionki). Założę się, że można to zagnieździć ... Wiesz, co mi to przypomina? Fraktale !!!
Zdefiniujmy piramidę „IHIH” w następujący sposób: Pierwszą iteracją jest reprezentacja litery „I” w ASCII:
---
|
---
Następna iteracja ma pionowy skok po obu stronach.
| |
|---|
| | |
|---|
| |
Jeśli widzisz „I” pośrodku jako pojedynczy pociągnięcie poziome, to ta druga iteracja jest w zasadzie „H”. Trzecia iteracja dodaje poziomy obrys na górze i na dole
-------
| |
|---|
| | |
|---|
| |
-------
Ponownie, jeśli widzisz „H” pośrodku jako pojedynczy pionowy skok, to ta iteracja jest w zasadzie „I”. Ten wzór trwa, naprzemiennie między literami „H” i „I” przy każdej iteracji. Dla porównania, oto 6 pierwszych iteracji:
1:
---
|
---
2:
| |
|---|
| | |
|---|
| |
3:
-------
| |
|---|
| | |
|---|
| |
-------
4:
| |
|-------|
| | | |
| |---| |
| | | | |
| |---| |
| | | |
|-------|
| |
5:
-----------
| |
|-------|
| | | |
| |---| |
| | | | |
| |---| |
| | | |
|-------|
| |
-----------
6:
| |
|-----------|
| | | |
| |-------| |
| | | | | |
| | |---| | |
| | | | | | |
| | |---| | |
| | | | | |
| |-------| |
| | | |
|-----------|
| |
Wyzwanie:
Napisz program lub funkcję, która wypisze N -tą iterację piramidy IHIH i opcjonalny znak nowej linii. Twój wkład będzie pojedynczą dodatnią liczbą całkowitą w dowolnym rozsądnym formacie, jaki chcesz. Nie musisz obsługiwać nieprawidłowych danych wejściowych, np. Liczb całkowitych, liczb mniejszych niż 1 itp. Twój program musi co najmniej generować prawidłowe dane wyjściowe dla danych wejściowych do 20. Ponieważ jest to gra w golfa , standardowe luki są niedozwolone i najkrótsza odpowiedź w bajtach wygrywa!