Szesnastkowy to podstawowy system liczenia 16, który przechodzi od 0
do f
. Twoim zadaniem jest stworzenie licznika, który wyświetli te liczby.
Przykład:
$ python counter.py
1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30
Zasady:
- Liczby mogą być oddzielone spacjami, tabulatorami lub nowymi wierszami.
- Minimalna liczba, do której musisz się udać, to
30
(48 miejsc po przecinku).- Możesz także sprawić, że program wydrukuje numery na zawsze, dopóki nie zostanie zatrzymany.
- Litery mogą być pisane wielkimi lub małymi literami (
A
luba
). - Niedozwolone są wbudowane funkcje (które bezpośrednio wpływają na konwersję / zliczanie szesnastkowe).
- Zera wiodące są dozwolone
- Może zaczynać się od
1
lub0
- Najkrótszy kod wygrywa!
code-golf
hexadecimal
faza
źródło
źródło
Odpowiedzi:
Pyth - 12 bajtów
Używa produktu kartezjańskiego i sortuje na końcu, aby uzyskać odpowiednią kolejność, a następnie łączy spacjami. Wydruki
00-ff
włącznie.Wypróbuj online tutaj .
źródło
Pure Bash , 26
Liczy od 0x0 do 0x3F:
Wypróbuj online!
źródło
CJam,
2114 bajtówDrukuje liczby od 00 do 9F.
Wypróbuj online w interpretatorze CJam .
Jak to działa
źródło
Python 2, 52
Drukuje
00
do3F
. Wykorzystuje fakt, że pierwsza cyfraa
jest zawsze liczbą z tego zakresu. Pętle przechodzą przez cztery cykle drugiej cyfryb
, zwiększając,a
ilekroć jest druga cyfraF
.Jest to o jeden znak krótszy niż bardziej bezpośredni
źródło
n ='0123'
powinien oszczędzić trochę znakówthing in n + restofstring
n='0123' for a in n: for b in n+'456789ABCDEF':print a+b
0123
dla czegoś innego nie wystarczy.JavaScript (ES6), 57 bajtów
Takie samo podejście jak w Pythonie.
źródło
TI-Basic, 63 bajty
To 63 bajty, zgodnie z ekranem zarządzania pamięcią mojego kalkulatora, TI-84 +. Pamiętaj, aby uruchomić program z częściowo wypełnionym ekranem głównym!
źródło
Befunge-93, 57 bajtów
Drukuje liczby od
00
do8F
. Jeśli wolisz, aby twoje programy działały wiecznie, poniższa wersja nie jest zakończona i będzie stale wyświetlać wszystkie liczby od00
doFF
.źródło
0123456789ABCDEF01g::88+/2-0g,88+%0g,9,1+01p
bef.c
), która dyskretnie ignoruje nieznane polecenia (ABCDEF
).30
- ten będzie powoli przepełniał stos, więc przypuszczam, że jest jakiś punkt zakończenia. Ponadto, wyjście jest oddzielone tabulatorami; OP powiedział, że było w porządku. ) Och, implementacja Befunge, której używasz, powinna również inicjalizować cały torus 80x25 ze spacjami (ASCII0x20
).C,
7875 bajtówDefiniujemy funkcję,
f()
która ma być wywoływana bez argumentów do drukowania, oraz funkcję pomocnicząx(int)
. To się psujeFF
.O dziwo, jest to jeden bajt krótszy niż bardziej oczywisty:
Ostrzeżenie: nie jest zalecane uruchamianie tego kodu poza środowiskiem debugowania ...
Testowanie:
Wynik:
Oczywiście, bardziej niezawodnym (i oszukańczym) podejściem jest ta 34-bajtowa funkcja:
źródło
return y+
może byćy+=
.Pyth, 17 bajtów
Wypróbuj tutaj
Jak to działa:
źródło
jb^+jkUT<G6 2
używa produktu kartezjańskiego, aby zrobić to samo, nadal wydaje się grywalne ...JavaScript ES6,
6762 bajtówźródło
J, 22 bajty
Liczy się
ff
. Drukuje dodatkową linię nowego wiersza między każdym blokiem0x10
liczb, na przykład:źródło
Świnka - 65 bajtów
Nie ... Świnka jeszcze nie jest martwa! :-)
źródło
CJam, 22 bajty
Działa to wiecznie, a zatem prawdopodobnie jest to jeden z rzadkich czasów, w których dobrym pomysłem jest nie dodawanie bezpośredniego linku.
źródło
oNo
jest taki sam jakn
w TIO.C64Mini i Commodore BASIC (C64 / 128, PET, VIC-20, C16 / + 4) - 164 używane bajty BASIC i tokenizowane
Drukuje podwójną spację po numerze szesnastkowym, aby dobrze wyrównać drukowanie w 40/80 kolumnach, a także w 22 kolumnach na VIC-20.
źródło
pieprzenie mózgu , 2902 bajtów
Łatwy do outgolfa, ale warto spróbować
Wypróbuj online!
źródło
0-F
a następnie zakodowałeś wydruk. Jak udało ci się to zrobić tak długo?Python 2,
6655 bajtówTo powinno być naprawdę najbardziej oczywiste podejście do mnie ...
Stare (66 bajtów) : Technicznie powoduje to błąd później
FF
, ale się nie osiąga30
.Zakładałem, że formatowanie ciągów jest niedozwolone, ponieważ jestem prawie pewien, że przejdzie podstawową konwersję, ale gdyby było dozwolone, byłoby to 29 bajtów:
źródło
Java, 104 bajty
Jeśli
i<99
zostanie usunięty, nadal osiąga 30, ale ostatecznie ulega awarii. Nie jestem pewien, czy to dopuszczalne.źródło
J, 47 bajtów
drukuje 00 na ff
źródło
>{;~'0123456789abcdef'
JavaScript
74726560źródło
Perl 6 , 34 bajtów
Najkrótszy, jaki mogę wymyślić, który nie korzysta z żadnej konwersji jest:
drukuje
00
...FF
odstępy rozdzielone w kolejności.Jeśli chcesz więcej, możesz zamienić
2
na większą liczbę.(nie używaj liczby większej niż 4, ponieważ łączy ona wartości razem przed wysłaniem czegokolwiek, więc zużyłoby znaczną ilość pamięci RAM)
Najkrótszy, który nigdy nie przestanie zapisywać wartości szesnastkowych
Gdyby
printf
były dozwoloneJeśli dozwolona jest podstawowa funkcja konwersji
źródło
C ++ 14–135
źródło
'string' is not a member of 'std'
z moim.cout
. Myślę, że tyiostream
też potrzebujesz . 2. Drukuje liczby bez separacji. Wyzwanie wymaga spacji, tabulatorów lub nowych linii. 3. Powinieneś wspomnieć o wymaganej wersji C ++.jq 1,5:
6559 znaków(56-znakowy kod + 3-znakowa opcja wiersza poleceń).
Przykładowy przebieg:
Test on-line (Przekazanie
-r
adresu URL nie jest obsługiwane - sam sprawdź Raw Output).jq 1,5: 56 znaków
(53-znakowy kod + 3-znakowa opcja wiersza poleceń).
Daje to prawidłowe wyjście, jednak nie jest dokładnie licznikiem: nie generuje wartości w kolejności, po prostu je sortuje.
Test on-line (Przekazanie
-r
adresu URL nie jest obsługiwane - sam sprawdź Raw Output).źródło
Dyalog APL , 12 bajtów
źródło
Malbolge , 900 bajtów
Do ulepszenia ...
Wypróbuj online!
źródło
Zsh,
4429 bajtów-15 , za pośrednictwem GammaFunction wypróbuj online!
Oryginalny (44 bajty):
g=0123456789abcdef;h=(${(s::)g});echo $^h$^h
źródło
h=({0..9} {a..f})
. 29 bajtówPowerShell 6, 40 bajtów
Wypróbuj online!
Zaczyna się
00
i liczy doFF
.źródło
8088 Montaż, IBM PC DOS, 34 bajty
Bajty
xxd
:Niezmontowane:
Samodzielny PC DOS z dokładnością, wyjście jest na konsolę i będzie wyświetlać aż do zatrzymania programu. Po prostu program do manipulacji ASCII tutaj. Po prostu nie ma wbudowanych ani wygodnych metod API x86 lub DOS / BIOS do konwersji wartości binarnych na ciągi wyjściowe.
Wynik:
źródło
MUMPS , 57 bajtów
Wynik
Wyjaśnienie
źródło
Haskell, 52 bajty
źródło
Python 2 - 57 bajtów
Daje to od 00 do FF, ze spacjami pomiędzy.
źródło