Dla liczby całkowitej, nktóra spełnia n > 0, zapisz jej wartość jako ścieżkę malejącą w prawo na podstawie jej reprezentacji binarnej.
Zasady
- Pierwszy (najbardziej znaczący) zestaw bitów znajduje się zawsze w lewym górnym rogu.
- Gdy ustawiony jest następny bit (a
1), narysuj znak („wypełniony”) w następnym wierszu w tej samej kolumnie, co poprzedni narysowany znak. Spróbuj użyć spacji („pustych”) do wypełnienia, ale każda postać zrobi tak długo, jak zawsze będzie taka sama. - Gdy następny bit jest wyłączony (a
0), narysuj znak („wypełniony”) na tej samej linii natychmiast po prawej stronie poprzedniego narysowanego znaku. - Twój kod musi obsługiwać liczby o co najmniej 20 znaczących bitach.
- Napisz pełny program, funkcję, lambda itp., Ale bez fragmentu.
- Niedozwolone są spacje wiodące (lub „puste” znaki) / linie
- Dowolna liczba końcowych spacji (lub „pustych” znaków) / linii jest dozwolona
- Akceptowane są wszelkiego rodzaju dane wejściowe 1D: liczba, ciąg znaków, tablica wartości logicznych itp. Nie zmieniaj jednak kolejności bitów.
- Akceptowane są wszelkie wizualne dane wyjściowe 2D: na standardowym odcinku (z dowolnymi dwoma odrębnymi wartościami reprezentującymi „wypełnione” i „puste”), możesz nawet wyprowadzić macierz, jeśli chcesz. Lista liczb wydaje się trudna do pogodzenia z zasadą „bez spacji nagłówkowych”, ale jestem otwarty na nią, jeśli znajdziesz sposób jej użycia. Uwaga: jeśli zdecydujesz się wydrukować lub zwrócić ciąg znaków, użyte znaki muszą być znakami ASCII w zakresie punktów kodowych [32-126].
- Standardowe luki są zabronione.
- To jest codegolf, więc wygrywa najkrótszy kod.
Przykłady
Wejście: 1
*
Wejście: 2
**
Wejście: 3
*
*
Wejście: 4
***
Wejście: 5
**
*
Wejście: 6
*
**
Wejście: 7
*
*
*
Wejście: 25
*
***
*
Dane wejściowe: 699050
**
**
**
**
**
**
**
**
**
**
Dane wejściowe: 1047552
*
*
*
*
*
*
*
*
*
***********
Wejście: 525311
**********
*
*
*
*
*
*
*
*
*
*
[1,0,1], tak.
9to 1001chciałbym być mój wkład 0011. Czy to w porządku?
1pierwszego jest częścią wyzwania, a (ponowne) przeniesienie tego bitu byłoby trywializowaniem wyzwania, więc obawiam się, że muszę powiedzieć „nie”, @TonHospel. Możesz jednak usunąć go z danych wejściowych w programie.



