Tytuł mówi wszystko. Twoim celem jest napisanie programu, który utworzy aw × h prostokąta znaków, który można obracać i ponownie uruchomić, aby wygenerować liczbę wykonanych obrotów o 90 ° w kierunku przeciwnym do ruchu wskazówek zegara (CCW).
Na przykład, jeśli program 3 × 2
abc
def
rozwiązany problem, początkowo generowałby 0, a kolejne obroty o 90 ° CCW
cf fed da
be cba eb
ad fc
wypisze odpowiednio 1, 2 i 3.
Używanie komentarzy sprawia, że jest to trywialne zadanie w większości języków. Na przykład w Ruby można to zrobić w prostokącie 7 × 7:
###p###
### ###
###1###
p 0#2 p
###3###
### ###
###p###
Wyzwanie polega na zrobieniu tego bez żadnych komentarzy.
Punktacja
Twój wynik to w * h, obszar prostokąta. Nowe linie są wykluczone. Innymi słowy, code-golf, nowe linie nie są liczone.
Wynik dla przykładu Rubiego to 49 (choć oczywiście jest on nieprawidłowy, ponieważ zawiera komentarze).
Notatki
- Twój kod musi być naprawdę prostokątny bez brakujących znaków na końcu wiersza.
- Jeśli chcesz, możesz wypisać inne legalne wartości „mod 90 °” zamiast 0 1 2 3. Więc 8 jest w porządku zamiast 0, a -1 jest w porządku zamiast 3 itd.
- Dane wyjściowe mogą przejść do konsoli lub do pliku.
- Obowiązują standardowe luki.
Mam nadzieję, że moje pierwsze pytanie naprawdę intryguje niektórych ludzi. Cieszyć się!
echo 0;exit;e
w bash jest dozwolony?