Napisz najkrótszy możliwy program, który rysuje linię Bresenhama w sztuce ASCII. Twój program powinien wziąć dwie liczby całkowite x
i y
(wiersz poleceń lub standardowe, twój wybór) i narysować linię ASCII, która zaczyna się w lewym górnym rogu i biegnie w prawo x
i w dół y
. Należy użyć _
i \
znaków i umieścić je w odpowiednim miejscu, zgodnie z Bresenham w algorytmie.
Możesz założyć x >= y
, więc nie są wymagane żadne segmenty pionowe.
Zauważ, że ponieważ używasz _
znaku, w linii z y=3
prawdopodobnie będziesz musiał wypisać 4 linie tekstu (i możesz wysunąć wiodącą pustą linię, gdy nie jest to konieczne).
przykłady:
11 3
_
\___
\___
\_
11 1
_____
\_____
5 4
\
\_
\
\
W przypadku punktów dokładnie w połowie możesz wybrać zaokrąglenie:
10 1
____
\_____
or
_____
\____
Read(input,x,y)
można go skrócić doread(x,y)
i bez,program
iapptype
staje się 157 znaków.if(i*y+x div 2)mod x<y then
na toif(i*y*2+x)mod(x*2)<y*2then
może pomóc, ale to dokładnie tyle samo znaków.APL (Dyalog Classic) , 39 bajtów
Wypróbuj online!
źródło