Bez dołączonych ciągów (lub liczb)

71

Jeśli Ci się spodoba, rozważ udział w:


Wykonaj 12 urywków / wyrażeń w tym samym języku, które dają odpowiednio cyfry od 0 do 10 i 42, ale bez pisania literowych danych liczbowych, łańcuchowych lub znaków.

Wbudowane dane, takie jak PI()i ALPHABET(), są w porządku, podobnie jak np. Stałe U, X, Y, Z i A w CJam oraz BLEND, AKORD, CENTRALNY, PRZERWA i LINIE.

Każdy fragment musi być w stanie samodzielnie działać, tzn. Nie może być od siebie zależny. Jednak wewnątrz jednego fragmentu możesz przypisać zmienną i używać jej dowolnie, o ile odwołujesz się do niej bezpośrednio po nazwie, a nie poprzez ciąg znaków zawierający jej nazwę.

Wszystkie fragmenty muszą być poprawne na komputerze osoby przesyłającej w momencie przesyłania (zgodnie z raportem SE), ale nie mogą opierać się na nietypowych lokalnych warunkach, takich jak liczba plików w katalogu, dokładna data lub godzina lub określone dane wprowadzone przez użytkownika .

Przykłady prawidłowych fragmentów

3: INT(LOG10(YEAR(TODAY()))) ponieważ pozostaje prawdą w dającej się przewidzieć przyszłości
4: CUBICROOT(LEN(CHARACTERSET())) ponieważ zestaw znaków 256 liter jest bardzo powszechny
8: SQRT(SYSTEMTYPE()) ponieważ systemy 64-bitowe są bardzo powszechne

Przykłady nieprawidłowych fragmentów

5: LEN(USERNAME()) ponieważ większość ludzi nie używa „Admin” jako loginu :-)
9: LOG10(SYSTEMMEMORY()) ponieważ działa tylko w systemach z dokładnie 1 GB pamięci
42: CODE("*") ponieważ zawiera literał ciąg / znak

Wynik każdego fragmentu musi skutkować faktyczną liczbą (wartość, liczba całkowita, liczba zmiennoprzecinkowa itp.), Której można użyć do dalszych obliczeń w tym samym języku co fragment kodu, tj. Nie może to być ciąg tekstowy reprezentujący tę liczbę.

Dozwolone są tylko języki oparte na znakach.

Wynik to łączna liczba bajtów wszystkich 12 urywków łącznie. Nowe linie oddzielające fragmenty nie są liczone.

Pamiętaj, że powyższe zasady mogą uniemożliwić udział niektórych języków, nawet jeśli są one ukończone.

FAQ

P Czy programy mogą akceptować jakiekolwiek dane wejściowe? Tak, ale nie może po prostu poprosić o wejście i wpisać odpowiedni numer.

P Czy dozwolone są cyfry fizyczne (bez danych)? Tak, np .
LOG10()

P Czy symbole w Rubim liczą się jako literały? Tak.

P Czy wynik zawiera znaki nowej linii między każdym fragmentem? No.

P Czy TI-BASIC „oparty na znakach” jest wystarczający, aby był ważny? Tak.

P Czy fałsz i prawda są liczone jako literały liczbowe?
O Nie, są do zaakceptowania.

P Czy możemy użyć literału liczbowego do wywołania funkcji, jeśli jest to jedyny sposób, a liczba nie wpływa na wynik funkcji? Tak, jeśli to jest normalny sposób pisać kod w języku polskim.

P Mój język zakłada, że ​​na początku każdego programu / wyrażenia jest [coś]. Czy muszę to uwzględnić, czy moje fragmenty powinny po prostu działać, jeśli zostaną umieszczone w środku programu / wyrażenia?
A Powinny po prostu działać w środku programu / wyrażenia.

P: Co z literałami regularnymi? Zabronione, z wyjątkiem języków zrobić tylko regexes.

P Czy akceptowalny jest jeden fragment kodu, który mógłby wydrukować wszystkie podane liczby?
O Nie, muszą być one odrębne i wzajemnie niezależne.

P Czy mogę założyć płytę kotłową podobną int main() {}...lub równoważną? Tak.

P Jakie typy danych wyjściowych są dozwolone?
A Dowolny typ danych liczbowych, taki jak int, float itp.

P Czy muszę wydrukować wynik każdego fragmentu?
O Nie, udostępnienie wyniku do późniejszego wykorzystania wystarczy.

P Czy dozwolone są wstępnie ustawione zmienne?
A Tak i zostaną zresetowane (jeśli zostaną zmienione) dla każdego fragmentu.

P Czy π i e są uważane za literały liczbowe?
A Nie, możesz ich użyć.

P Czy mogę zwrócić 4 i 2 w różnych komórkach dla 42?
O Nie, muszą być połączone jako jeden numer.

Q Bajty lub postacie? Bytes, ale można wybrać dowolną stronę kodową.

P Czy można stosować funkcje stałe i wstępnie ustawione zmienne, takie jak J 9:, faktycznie 9i Pretzel 9?
A Tak, jeśli słownictwo jest skończone (19 dla J, 10 dla Faktycznie i Precla).

Adám
źródło
Jeśli 0-9 nie są literałami liczbowymi, ale wstępnie wypełnionymi zmiennymi, czy byłyby uczciwą grą?
Cyoce
@Cyoce Więc 10 to {1, 0}, a nie 2 × 5?
Adám
nie, istnieje po prostu inna składnia literałów, która nie jest base-10, więc 0-9 nie są literałami. Posiadają wartość 0–9, ale są uważane za zmienne
Cyoce
@Cyoce To jest w porządku. Co to za język?
Adám
precel (język, nad którym pracuję).
Cyoce,

Odpowiedzi:

15

Sześciokąt , 13 bajtów

1
2)
3)
4
5
6
7
8
9
10
42

Wypróbuj online!

W Hexagony, 0przez 9to funkcje, które mnożą bieżącą pamięć przez 10, a następnie dodają liczbę reprezentowaną przez nazwę funkcji. Dlatego pierwszy fragment jest pusty, ponieważ wspomnienia zaczynają się jako 0.

Na przykład, jeśli bieżąca pamięć jest 65, wykonanie funkcji 3spowoduje utworzenie bieżącej pamięci 653.

(Do downvoters: oddaj głos, ile chcesz; jestem gotowy.)

Leaky Nun
źródło
Podstępne, ale dostaje moje poparcie i tyka.
Adám
49

Funciton , 1222 bajty

Oprócz literałów numerycznych, istnieją dwa sposoby na uzyskanie wartości (dowolnej wartości) w Funciton: wyrażenia stdin i lambda. Stdin jest pojedynczym polem, podczas gdy pełne wyrażenie lambda wymaga większej składni, więc wybieram stdin. Jednakże, chociaż standardowe wejście może być czymkolwiek, wszystkie poniższe czynności działają niezależnie od tego, jaki wkład zostanie podany.

Wszystkie użyte tutaj funkcje biblioteczne istniały przed opublikowaniem wyzwania.

0 (40 bajtów w UTF-16)

╔╗┌┐
║╟┤└┼┬┐
╚╝└─┘└┘

Używa surowej składni dla mniej niż. Wartość nigdy nie jest mniejsza niż sama, dlatego wynikiem jest 0.

1 (52 bajty w UTF-16)

╔╗┌─╖┌─╖
║╟┤⌑╟┤ɕ╟
╚╝╘═╝╘═╝

zwraca leniwą sekwencję zawierającą pojedynczy element i ɕzlicza liczbę elementów. (Leniwa sekwencja jest na tyle leniwa, że ​​ten fragment w ogóle nie ocenia standardowego wejścia!)

2 (70 bajtów w UTF-16)

╔╗┌─╖┌─╖┌─╖
║╟┤⌑╟┤ʂ╟┤ɕ╟
╚╝╘═╝╘═╝╘═╝

= 2¹. ʂgeneruje wszystkie podsekwencje sekwencji, a tym samym zamienia sekwencję n elementów w jeden z 2ⁿ.

3 (88 bajtów w UTF-16)

╔╗┌─╖┌─╖┌─╖┌─╖
║╟┤⌑╟┤ʂ╟┤ɕ╟┤♯╟
╚╝╘═╝╘═╝╘═╝╘═╝

= 2 + 1. zwiększa wartość o 1.

4 (88 bajtów w UTF-16)

╔╗┌─╖┌─╖┌─╖┌─╖
║╟┤⌑╟┤ʂ╟┤ʂ╟┤ɕ╟
╚╝╘═╝╘═╝╘═╝╘═╝

= 2².

5 (106 bajtów w UTF-16)

╔╗┌─╖┌─╖┌─╖┌─╖┌─╖
║╟┤⌑╟┤ʂ╟┤ʂ╟┤ɕ╟┤♯╟
╚╝╘═╝╘═╝╘═╝╘═╝╘═╝

= 4 + 1.

6 (106 bajtów w UTF-16)

╔╗┌─╖┌─╖┌─╖┌─╖┌─╖
║╟┤⌑╟┤ʂ╟┤ɕ╟┤♯╟┤!╟
╚╝╘═╝╘═╝╘═╝╘═╝╘═╝

= 3 silnia.

7 (110 bajtów w UTF-16)

┌───┐┌─╖┌─╖┌─╖╔╗
│┌─╖├┤ɕ╟┤ʂ╟┤⌑╟╢║
└┤A╟┘╘═╝╘═╝╘═╝╚╝
 ╘╤╝

= A (2, 2) (funkcja Ackermanna).

8 (118 bajtów w UTF-16)

┌────┐┌─╖┌─╖┌─╖╔╗
│┌──╖├┤ɕ╟┤ʂ╟┤⌑╟╢║
└┤<<╟┘╘═╝╘═╝╘═╝╚╝
 ╘╤═╝

= 2 << 2 (shift-left).

9 (128 bajtów w UTF-16)

┌───┐┌─╖┌─╖┌─╖┌─╖╔╗
│┌─╖├┤♯╟┤ɕ╟┤ʂ╟┤⌑╟╢║
└┤×╟┘╘═╝╘═╝╘═╝╘═╝╚╝
 ╘╤╝

= 3 × 3.

10 (146 bajtów w UTF-16)

┌───┐┌─╖┌─╖┌─╖┌─╖┌─╖╔╗
│┌─╖├┤♯╟┤ɕ╟┤ʂ╟┤ʂ╟┤⌑╟╢║
└┤+╟┘╘═╝╘═╝╘═╝╘═╝╘═╝╚╝
 ╘╤╝

= 5 + 5.

42 (170 bajtów w UTF-16)

┌──────┐┌─╖┌─╖┌─╖┌─╖┌─╖╔╗
│┌─╖┌─╖├┤!╟┤♯╟┤ɕ╟┤ʂ╟┤⌑╟╢║
└┤♯╟┤×╟┘╘═╝╘═╝╘═╝╘═╝╘═╝╚╝
 ╘═╝╘╤╝

= 6 × (6 + 1).

Timwi
źródło
6
+1 dla funkcji Ackermann .
intrepidcoder,
4
Chciałbym móc głosować więcej niż raz ...
ev3commander
26

JavaScript, 144 141 140 138 132 125 123 bajtów

Z pomocą @ edc65 , @Sjoerd Job Postmus , @DocMax , @usandfriends , @Charlie Wynn i @ Mwr247 !

result.textContent = [

+[]                          ,// 0  (3 bytes)
-~[]                         ,// 1  (4 bytes)
-~-~[]                       ,// 2  (6 bytes)
-~-~-~[]                     ,// 3  (8 bytes)
-~Math.PI                    ,// 4  (9 bytes)
-~-~Math.PI                  ,// 5  (11 bytes)
-~-~-~Math.PI                ,// 6  (13 bytes)
Date.length                  ,// 7  (11 bytes)
(a=-~-~[])<<a                ,// 8  (13 bytes) = (2 << 2)
(a=~Math.E)*a                ,// 9  (13 bytes) = (-3 * -3)
(a=-~-~[])<<a|a              ,// 10 (15 bytes) = ((2 << 2) | 2)
(a=Date.length)*--a           // 42 (19 bytes) = (7 * 6)

];
<pre id="result"></pre>

użytkownik 81655
źródło
Spróbuj 4: - ~ Math.PI
edc65
@ edc65 Dzięki! Myślałem, że coś mogę zrobić z PI. :)
user81655,
Dla 5, 6 możesz także użyć -~-~Math.PIi -~-~-~Math.PIzapisać kolejny bajt (dwa razy).
Sjoerd Job Postmus,
1
Zaoszczędź na 42 z (escape+NaN).length. PS Dzisiaj dowiedziałem się, że JavaScript jest naprawdę dziwny ...
Mwr247
1
Miałem powiedzieć, że NaNliczy się jako liczba, ale dosłownie nie jest to liczba: P
ETHproductions
17

Mysz-2002 , 27 26 17 14 bajtów

Pierwsze fragmenty wypychają 0-10, a następnie ZR+wypychają i są .251725 17 + 42 =1

A
B
C
D
E
F
G
H
I
J
K
ZR+
kot
źródło
Mówi „fragment lub wyrażenie”, dzięki czemu możesz usunąć wszystkie!
ev3commander
3
@cat Nie mogę wypowiadać się w imieniu pytającego, ale myślę, że oznacza to niezależność od siebie - bez definiowania funkcji w jednym, a następnie używania jej w innym. Jednak każdy fragment kodu nie musi być całym programem, może założyć int main() {}...ekwiwalent płyty , który go uruchomi.
TessellatingHeckler,
15

CJam, 27 24 bajtów

U    e# 0
X    e# 1
Y    e# 2
Z    e# 3
Z)   e# 3 + 1
YZ+  e# 2 + 3
ZZ+  e# 3 + 3
AZ-  e# 10 - 3
YZ#  e# 2³
A(   e# 10 - 1
A    e# 10
EZ*  e# 14 × 3

Dzięki @ MartinBüttner za -1 bajtów!

Wypróbuj online!

Dennis
źródło
12

Brainfuck, 70 bajtów

+
++
+++
++++
+++++
++++++
+++++++
++++++++
+++++++++
++++++++++
--[>+<++++++]>-

Każda linia musi być uruchamiana indywidualnie.

Pierwsze 10 jest oczywiste: zwiększamy wartość komórki za pomocą każdego plusa.

42 jest o wiele bardziej złożony. Opiera się na fakcie, że najbardziej szalony interpreter używa komórek 8-bitowych, co oznacza, że ​​wszystkie operacje na nim są wykonywane modulo 256. --Ustawia komórkę od 0 do 254. Następnie wchodzimy do pętli, która biegnie, aż komórka # 0 wynosi 0. Każda iteracja dodaje 1 do komórki nr 1 i dodaje 6 do komórki nr 0. Ta pętla działa 43 razy, więc komórka nr 1 ma 43. Na koniec odejmujemy 1 od komórki nr 1, aby uzyskać 42.

Mam najbardziej wydajną 42, jaką kiedykolwiek znaleziono, ze strony http://esolangs.org/wiki/Brainfuck_constants

p1xel
źródło
1
@someonewithpc 4 i 2 różni się od 42: OP mówi, że wynik każdego fragmentu kodu musi skutkować faktyczną liczbą, która może być użyta do dalszych obliczeń w tym samym języku co fragment kodu, tzn. nie może być łańcuchem tekstowym reprezentującym tę liczbę . Możesz wykonywać obliczenia na 42 bezpośrednio, ale nie jest to samo dla 4 i 2 w osobnych komórkach.
p1xel,
No dobrze
Tęskniłem
12

Ciemność , 339 303 bajtów

Tutaj naprawdę świeci Ciemność . Zdobyć? : ~)!

Bez drukowania (zastąpiono spacją \sw pierwszym wierszu, ponieważ nie będzie inaczej):

\s

█ 

██ 

███ 

████ 

█████ 

██████ 

███████ 

████████ 

█████████ 

██████████ 

██████████████████████████████████████████ 

Z nadrukiem:

■ 

█■ 

██■ 

███■ 

████■ 

█████■ 

██████■ 

███████■ 

████████■ 

█████████■ 

██████████■ 

██████████████████████████████████████████■ 

W takim przypadku każda linia musi być uruchamiana osobno, ponieważ program kończy się w świetle (spacja). Można jednak napisać to w jednym lub kilku wierszach tego samego programu.

Regularna ciemność (█) zwiększa rejestr o 1, a instrukcja ■ (pewien rodzaj mini ciemności) wyświetla zawartość rejestru.

sweerpotato
źródło
Nie sądzę, że prosi o pełne programy, tylko fragmenty.
Erik the Outgolfer,
12

Perl 5, 86 75 71 66 bajtów

Wszystkie ^Fs to dosłowne znaki kontrolne (0x06 w ASCII), a zatem pojedynczy bajt.

$[          # array start index, defaults to 0                                  2
!$[         # !0 is 1                                                           3
$^F         # max sys file descriptor number, 2 on all sane systems             2
++$^F       # 2 + 1                                                             4
~-$]        # 5 - 1                                                             4
int$]       # $] is Perl version, int truncates                                 5
length$~    # 1 + 5                                                             8
~~exp$^F    # floor(e^2)                                                        7
$^F<<$^F    # 2 bitshift-right 2                                                6
-!$[+ord$/  # -1 + 10                                                          10
ord$/       # input record separator, newline by default, ord gets ASCII val    5
ord($"^$/)  # 32 + 10                                                          10

Dzięki msh210 za zapisanie 11 bajtów i Dom Hastings za 9 bajtów!

Klamka
źródło
3
Perl jest dziwny. zoitz.com/comics/perl_small.png
ldam
obniżono, ponieważ „maksymalna liczba deskryptorów sys, 2 na wszystkich zdrowych systemach = 3”, ale mam 65+
cat
(tylko żartuję, oczywiście głosowałem)
kot
1
Czytałeś kiedyś komentarze do posta na SE i pomyślałeś: „wow, który głupek to napisał”? To ja w tej chwili na siebie.
kot
!$[+ord$/ # -1 + 10- nie rozumiem W wierszu 2 mówisz, że to !$[daje 1, a nie -1, więc ten fragment daje 11.
Timwi
10

MATL, 30 bajtów

O
l
H
I
K
Kl+
HI*
KYq
HK*
IH^
K:s
IH^:sI-

H, Ii Ksą predefiniowanymi stałymi dla 2, 3 i 4 (jak pi). Oi lsą funkcjami, które zwracają macierz zer ( O) lub jedynek ( l), domyślny rozmiar to 1x1. :tworzy wektor i ssumuje go, więc K:stworzy wektor od 1 do 4 i sumuje go, aby uzyskać 10. Yqjest n-tą funkcją pierwszą, podobnie KYqjak 4-ta liczba pierwsza, 7.

David
źródło
Ta Yqfunkcja (i jej implementacja) była bardzo miłą sugestią :-)
Luis Mendo
IK+działałby równie dobrze dla 7, ale jest to trochę zbyt nudne: P
David
10

Prolog, 113 99 bajtów

Fragmenty:

e-e              % 0.0
e/e              % 1.0
e/e+e/e          % 2.0
ceil(e)          % 3
ceil(pi)         % 4
ceil(e*e-e)      % 5
ceil(e+e)        % 6
floor(e*e)       % 7
ceil(e*e)        % 8
ceil(pi*e)       % 9
ceil(pi*pi)      % 10
ceil(e^e*e)      % 42

Łączy stałe matematyczne e i pi na różne sposoby konwertowane na int.

Edycja: Zapisano 14 bajtów, używając liczb zmiennoprzecinkowych dla 0-2.

Emigna
źródło
1
coś nie tak z e / e = 1?
Level River St,
@steveverrill: stanie się zmiennoprzecinkowy (1.0). Zinterpretowałem opis wyzwania w ten sposób, że liczby powinny być liczbami całkowitymi. Większość z nich, jeśli nie wszystkie, można by inaczej skrócić.
Emigna,
1
Pływaki @steveverrill są w porządku. Potrzebujemy tylko właściwej wartości .
Adám,
9

PHP, 157 145 91 bajtów

Po raz pierwszy pisząc na Code Golf, pomyślałem, że dam temu szansę. W końcu poprawię się: P Jeśli zobaczysz jakieś oczywiste (dla ciebie) miejsca, w których mógłbym ocalić postacie, daj mi znać.

EDYCJA: Zdałem sobie sprawę, że nie potrzebowałem średników, ponieważ są to tylko fragmenty.

EDIT2: Podziękowania dla Blackhole za wiele sugestii!

LC_ALL
DNS_A
~~M_E
~~M_PI
LOCK_NB 
LC_TIME
LOG_INFO
INI_ALL
IMG_WBMP
SQL_DATE
SQL_TIME
LOG_INFO*INI_ALL
orp
źródło
5
PHP ma wiele rozszerzeń, a zatem wiele predefiniowanych stałych o wiele lepszych niż matematyczne dla tego wyzwania;). LC_ALLdla 0 (-1 bajtów), DNS_Adla 1 (-3 bajtów), LOCK_NBdla 4 (-3 bajtów), LC_TIMEdla 5 (-7 bajtów), LOG_INFOdla 6 (-8 bajtów), INI_ALLdla 7 (-5 bajtów),…
Blackhole,
5
IMG_WBMPDla 8 (-4 bajtów), SQL_DATEdla 9 (-9 bajtów), SQL_TIMEdla 10 (-3 bajtów) i LOG_INFO*INI_ALLdla 42 (-11 bajtów). W ten sposób zaoszczędzono 51 bajtów! Stałe te są poprawne przynajmniej w PHP 5.6.1 w systemie Windows.
Blackhole,
@Blackhole nie LC_ALLjest rzeczą zależną od regionu?
kot
@cat To rzeczywiście stała używana setlocale()do zmiany wszystkich kategorii ustawień regionalnych. Ale wartość samej stałej jest oczywiście niezależna od ustawień regionalnych :).
Blackhole,
@Blackhole ah, rozumiem!
kot
9

Python 2, 191 159 158 157 156 149 146 bajtów

Moje pierwsze zgłoszenie, mam nadzieję, że wszystko mi się udało! Biorąc pod uwagę czas spędzony na tym, wydaje mi się, że dla niektórych z nich jest lepszy.

# 0 | Bytes : 5
int()

# 1 | Bytes : 5
+True

# 2 | Bytes : 6
-~True

# 3 | Bytes : 8
-~-~True

# 4 | Bytes : 10
-~-~-~True

# 5 | Bytes : 12
-~-~-~-~True

# 6 | Bytes : 14
-~-~-~-~-~True

# 7 | Bytes : 16
-~-~-~-~-~-~True

# 8 | Bytes : 15
a=True;a<<a+a+a

# 9 | Bytes : 19
a=True;(a<<a+a+a)+a

# 10 | Bytes : 20
int(`+True`+`int()`)

# 42 | Bytes : 16
~-len(`license`)
# Especially proud of this one !

Total byte count: 146

Wielkie dzięki dla FryAmTheEggman!

Joachim Jablon
źródło
Witamy w PPCG :) Nie jestem w 100% pewien tego wyzwania, ale myślę, że użycie Truejako idiomu dla 1 powinno być dopuszczalne, ponieważ nie wiem, kiedy nie są one równoważne jako fragmenty.
FryAmTheEggman,
Masz rację! Nieużywanie go dla samego 1, ponieważ, True is not 1ale dla wszystkich obliczeń opartych na 1, pomaga! Edycja teraz.
Joachim Jablon,
1
Użyj #8 len(`id(id)`). Wtedy 8, 9 i 10 będą krótsze. Możesz także dodać hiperłącze, aby wypróbować online .
mbomb007
Możesz dostać 9 len(`{()}`)za 11 bajtów, co daje od 7 do 10 krótszych.
xnor
9

C #, bez użycia, 234 bajty

new int()                       // 0
-~new int()                     // 1
-~-~new int()                   // 2
-~-~-~new int()                 // 3
-~-~-~-~new int()               // 4
-~-~-~-~-~new int()             // 5
-~-~-~-~-~-~new int()           // 6
-~-~-~-~-~-~-~new int()         // 7
-~-~-~-~-~-~-~-~new int()       // 8
(int)System.ConsoleKey.Tab      // 9
(int)System.TypeCode.UInt32     // 10
(int)System.ConsoleKey.Print    // 42

To jest o wiele bardziej nudne, niż początkowo myślałem. Miałem dość zróżnicowane pomysły, jak new[]{true}.Lengthi true.GetHashCode()i typeof(int).Name.Lengthi uint.MinValueitd., Ale new int()pokonać je wszystkie.

Timwi
źródło
Czy reguły pozwolą Ci zrobić coś takiego, var a = new int();a następnie użyć aw każdym fragmencie?
ldam
@LoganDam: Uważam, że jest bardziej interesujące, jeśli każde wyrażenie musi stać samodzielnie. Dlatego też nie użyłem żadnych usingdeklaracji.
Timwi,
Whoa, co to za 9/10/42: Oo
ev3commander
@ ev3commander: Są to po prostu najprostsze wartości wyliczeniowe zdefiniowane w mscorlib, które mają niezbędną wartość całkowitą. W przypadku ConsoleKey.Tab wartość 9 nie jest zaskakująca (9 to także ASCII znaku tabulacji). Inne są prawdopodobnie arbitralne.
Timwi
Krótszy dla 8:int a=-~-~new int();a<<a
LegionMammal978
9

PowerShell, 147 bajtów

Służą one +do niejawnego rzutowania rzeczy na liczby całkowite. Późniejsze numery używają Enums z .NET Framework unerpinnings programu PowerShell, które mają właściwe wartości.

+$a                          #0, 3 bytes (unset vars are $null, +$null == 0)
+$?                          #1, 3 bytes (bool previous result, default $true, +$true == 1)
$?+$?                        #2, 5 bytes (same as #1, twice)
$?+$?+$?                     #3, 8 bytes (beats [Int][Math]::E)
$?+$?-shl$?                  #4, 11 bytes (-shl is shift-left)
$?+$?+$?+$?+$?               #5, 14 bytes
$?+$?+$?-shl$?               #6, 14 bytes (enum value, + casts to integer)
+[TypeCode]::Int16           #7, 18 bytes
$?+$?-shl$?+$?               #8, 14 bytes
+[consolekey]::tab           #9, 18 bytes
+[TypeCode]::UInt32          #10, 19 bytes
+[consolekey]::Print         #42, 20 bytes

#Total:                      147 bytes

  • -~-~-~użyte w JavaScript, C # i PHP byłyby - -bnot - -bnot - -bnotw PowerShell.

  • x^yx**ybyłoby potęgowanie używane w odpowiedziach Perla lub w Pythonie lub JavaScript ES7[Math]::Pow($x,$y)

  • stałe e i Pi są znakami ciężkimi [Math]::Ei[Math]::PI

TessellatingHeckler
źródło
x^yjest xor w JavaScript. JavaScript (ES7) ma **dla wykładników. Źródło
mbomb007,
@ mbomb007 Ah, dzięki - zaktualizowałem swoją notatkę na ten temat.
TessellatingHeckler
@ mbomb007 Nadal uważam, że to trochę głupie
SuperJedi224,
@ SuperJedi224 Dlaczego? Tak to robi Python. Xor jest ważnym operatorem.
mbomb007
8

DC , 35 bajtów

K
KZ
IZ
Iv
EI-
FI-
IZd*
IIZ/
Ivd+
IIv-
IIZ-
IKZ-
I
EdE++

Aby przetestować fragmenty, dodaj a, faby wydrukować stos i przekazać ten ciąg do dc:

$ echo 'EdE++f' | dc
42
yeti
źródło
Wierzę, że Ei Ftutaj są cyfry (nawet jeśli są większe niż podstawa wejściowa). Dowodem na to jest to, że łączą się jak cyfry; np. F0-> 150. Możesz zobaczyć to samo zachowanie z cyframi dziesiętnymi po zmianie podstawki wejściowej i wyjściowej.
Toby Speight
Istnieje wiele innych odpowiedzi przy użyciu podobnych rzeczy ... dlaczego miałbym być jedynym, w którym to nie jest w porządku?
yeti
Nie powinieneś - jeśli istnieją inne rozwiązania wykorzystujące cyfry, to również nie są poprawnymi odpowiedziami.
Toby Speight
1
Już mnie to nie obchodzi! Codegolf akceptuje nawet program graficzny mandelbrot jako rozwiązanie zadania polegającego na napisaniu programu mandelbrot ascii art ... codegolf wymaga dużego resetu, a po ponownym uruchomieniu mogę ponownie dbać o reguły ...: -Þ
yeti
7

TI-BASIC, 41 bajtów

0 ~ 10:

X
cosh(X
int(e
int(π
-int(-π
int(√(π³
int(π+π
int(e²
int(eπ
int(π²
Xmax

42:

int(π²/ecosh(π

W TI-BASIC wszystkie niezainicjowane zmienne jednoliterowe zaczynają się od 0, a Xmax(prawa granica okna ekranu wykresu) zaczyna się od 10.

Stała matematyczna πto jeden bajt , ale edwa bajty.

lirtosiast
źródło
Czy π nie jest uważane za dane liczbowe?
vsz
@vsz być może, ale nie jest to literał liczbowy. Operacja nawet to mówi.
SuperJedi224,
@NBZ bardzo dobry punkt. Mój błąd.
GamrCorps,
6

Python 2, 306 275 274 bajtów

Wykorzystałem fakt, że dla dowolnego x (liczba całkowita, a nie 0) wyrażenie x/xwynosi 1 i bawiłem się kilkoma bitowymi operacjami.

Skorygowałem fragmenty tak, aby nadal spełniały wymagania (dzięki @nimi to zaoszczędziło mi 24 bajty), ale trzeba je ręcznie przetestować. Oto kod i liczba pojedynczych bajtów:

zero.py Bytes: 7
len({})
--------------------------
one.py  Bytes: 12
r=id(id)
r/r
--------------------------
two.py  Bytes: 17
r=id(id)
-(~r/r)
--------------------------
three.py    Bytes: 20
r=id(id)
-(~r/r)|r/r
--------------------------
four.py Bytes: 20
r=~id(id)/id(id)
r*r
--------------------------
five.py Bytes: 26
r=~id(id)/id(id)
(r*r)|r/r
--------------------------
six.py  Bytes: 25
r=~id(id)/id(id)
(r*r)|-r
--------------------------
seven.py    Bytes: 27
r=~id(id)/id(id)
-~(r*r|-r)
--------------------------
eight.py    Bytes: 24
r=-(~id(id)/id(id))
r<<r
--------------------------
nine.py Bytes: 29
r=-(~id(id)/id(id))
r-~(r<<r)
--------------------------
ten.py  Bytes: 31
r=~id(id)/id(id)
-r*((r*r)|r/r)
--------------------------
answer.py   Bytes: 37
r=-(~id(id)/id(id))
(r<<r*r)|(r<<r)|r
--------------------------
Total byte count: 274
ბიმო
źródło
Możesz zapisać bajty za pomocąi=id(id);r=~i/i
Cyoce
6

Matematyka ++, łącznie 92 bajty

0 (1 bajty): a

1 (2 bajty):!a

2 (3 bajty):_$e

3 (4 bajty): _$pi

4 (7 bajtów): _$e+_$e

5 (8 bajtów): _($e+$e)

6 (9 bajtów): _$pi+_$pi

7 (8 bajtów): _($e*$e)

8 (9 bajtów): _($e*$pi)

9 (10 bajtów): _($pi*$pi)

10 (12 bajtów): _$e*_($e+$e)

42 (19 bajtów): _($pi+$pi)*_($e*$e)

SuperJedi224
źródło
5

JavaScript (środowisko przeglądarki), 155 136 130 bajtów

+[]
-~[]
-~-~[]
-~-~-~[]
-~-~-~-~[]
-~-~-~-~-~[]
-~-~-~[]<<-~[]
-~-~-~-~-~-~-~[]
-~[]<<-~-~-~[]
~(~[]+[]+-[])
-~[]+[]+-[]
-~(top+top.s).length // Requires browser environment

Dzięki:
@Ismael Miguel : 155 -> 136 -> 130 bajtów

usandfriends
źródło
1
Możesz użyć -~[]+[]+-[]do produkcji 10. Zwróci ciąg, ale nadal można go używać jako liczby. Możesz także użyć -~(top+top.s).lengthdo obliczenia 42(-8 bajtów) i porzucić swoją zależność od Google Chrome. Aby zaoszczędzić więcej 3 bajtów, użyj (P=Math.PI)*P>>+[]do obliczenia 9.
Ismael Miguel
1
Przepraszam, zapomniałem kilka bajtów, które możesz ogolić. Możesz użyć ~(~[]+[]+-[])do wygenerowania 9. To powinno zmniejszyć kilka dodatkowych bajtów.
Ismael Miguel,
co ciekawe, +[12]daje 12i +[1, 2]daje NaN. Nienawidzę JS
kota
2
@cat To z powodu dziwnego systemu obsady JavaScript. Tablice rzutowane na ciągi takie jak [1,2,3]=> "1,2,3"i ciągi rzutowane na liczby takie jak "12"=>, 12ale jeśli w ciągu znajdują się znaki nieliczbowe, rzutowanie powraca NaN. +[1,2]rzutuje na ciąg, a następnie liczbę, ale ciąg zawiera przecinek, więc "1,2"staje się NaN.
user81655,
@ user81655 that. jest. OKROPNY.
kot
5

Poważnie, 39 33 bajtów

W nawiasach podano objaśnienia:

 (single space, pushes size of stack, which is 0 at program start)
 u (space pushes 0, u adds 1 (1))
 ⌐ (space pushes 0, ⌐ adds 2 (2))
 u⌐ (space pushes 0, u adds 1 (1), ⌐ adds 2 (3))
 ⌐⌐ (space pushes 0, ⌐⌐ adds 2 twice (4))
 ⌐P (space pushes 0, ⌐ adds 2 (2), P pushes the 2nd prime (5))
Hl▓ (H pushes "Hello, World!", l pushes length (13), ▓ pushes pi(13) (6))
QlP (Q pushes "QlP", l pushes length (3), P pushes the 3rd prime (7))
Ql╙ (Q pushes "QlP", l pushes length (3), ╙ pushes 2**3 (8))
úl▓ (ú pushes the lowercase English alphabet, l pushes length (26), ▓ pushes pi(26) (9))
 u╤ (space pushes 0, u adds 1 (1), ╤ pushes 10**1 (10))
HlPD (H pushes "Hello, World!", l pushes length (13), P pushes the 13th prime (43), D subtracts 1 (42))

Szesnastkowe zrzuty programów:

20
2075
20a9
2075a9
20a9a9
20a950
486cb2
516c50
516cd3
a36cb2
2075d1
486c5044

Dzięki kwintopii na 6 bajtów!

Mego
źródło
1
Podejrzewam, że Poważnie używa strony kodowej o 256 znaków, która zawiera pseudo graficzne znaki?
Adám,
2
@NBZ CP437
Mego
Możesz zapisać bajt na 6 za pomocą Hl▓
kwintopia
Ten sam pomysł z ú oszczędza bajt w dniu 9
kwintopii
HlPDzapisuje 2 bajty na 42, i QlPzapisuje bajt na 7, i Qlªzapisuje bajt na 9, i Ql╙zapisuje bajt na 8. Myślę, że Poważnie sprowadza się to do 33 bajtów wszystkich, wiążąc Pytha.
kwintopia
5

dc, 42 bajty

K
zz
OZ
zzz+
OZd*
OdZ/
zzzz*
Ozz+-
OdZ-
Oz-
O
Od+dz++

Wyniki

0
1
2
3
4
5
6
7
8
9
10
42

Nie ma wielu sposobów na generowanie nowych liczb za pomocą DC. Używam O: baza wyjściowa, początkowo 10; K: precyzja, początkowo 0; zgłębokość stosu, początkowo 0; Zznaczące cyfry operandu. Łączymy je ze zwykłymi operatorami arytmetycznymi.

Program testowy

#!/bin/bash

progs=(                                         \
    "K"                                         \
    "zz"                                        \
    "OZ"                                        \
    "zzz+"                                      \
    "OZd*"                                      \
    "OdZ/"                                      \
    "zzzz*"                                     \
    "Ozz+-"                                     \
    "OdZ-"                                      \
    "Oz-"                                       \
    "O"                                         \
    "Od+dz++"                                   \
)

a=0
results=()
for i in "${progs[@]}"
do
    results+=($(dc -e "${i}p"))
    (( a+=${#i} ))
done

echo "#dc, $a bytes"
echo
printf '    %s\n' "${progs[@]}"
echo
echo '##Results'
echo
printf '    %s\n' "${results[@]}"
Toby Speight
źródło
4

Mathematica, 101 bajtów

a-a
a/a
⌊E⌋
⌈E⌉
⌈π⌉
⌊E+E⌋
⌈E+E⌉
⌊E*E⌋
⌈E*E⌉
⌈E*π⌉
⌈π*π⌉
⌊π*π^π/E⌋

Jestem pewien, że niektóre z nich są nieoptymalne. Te zaokrąglone wsporniki są naprawdę drogie.

Dla spójności, pierwsze dwa może być również E-Ei E/Eoczywiście, ale myślałem, że to całkiem ładne dostać 0i 1od obliczeń z niezdefiniowanych zmiennych.

Martin Ender
źródło
@NBZ Przepraszamy, zapomniałem o 0. Jeśli później aotrzyma wartość 0, nie stanowi to problemu, o ile nie jest używana podczas a/aoceny.
Martin Ender,
@NBZ Liczba bajtów to po prostu liczba bajtów UTF-8.
Martin Ender,
4

Japt , 34 33 30 bajtów

1 bajt zapisany dzięki @ThomasKwa

T
°T
C-A
D-A
E-A
F-A
G-A
°G-A
Iq
´A
A
H+A

Oto, co oznaczają poszczególne znaki:

T    0
A    10
B    11
C    12
D    13
E    14
F    15
G    16
H    32
I    64
q    sqrt on numbers
°    ++
´    --
ETHprodukcje
źródło
Czy Japt domyślnie przyjmuje liczby szesnastkowe? Jeśli tak, to
litery
@NBZ A-Ito zmienne, które są domyślnie przypisane do różnych liczb, jak pokazano powyżej. A-Fsą przypisane do 10-15. Czy to unieważnia te zmienne?
ETHproductions
Nie. Zastanawiałem się tylko, czy powiedzmy, że 12AB3 było ważne. Teraz wiem, że tak nie jest. Nie ma tu literałów, idź dalej. :-)
Adám
4

Cudowny , 98 bajtów

Nie jest to szczególnie ekscytujące, opiera się na ?nurządzeniach, które zamieniają dowolny marmur w losową wartość w zakresie 0..n (włącznie) efektem ubocznym jest to, że ?0zamienia każdy marmur w 0 bez względu na wejście. Myślę, że użycie literałów jest dozwolone, ponieważ wartość nie wpływa na wynik i nie ma innego sposobu na wywołanie funkcji raz w Marbelous.

0:

00  # A hexadicemal literal: value 0
?0  # Turn any marble into a random value from the range 0..0 (inclusive)

1:

00
?0
+1  # increment by one

...

9:

00
?0
+9

10:

00
?0
+A  # increment by 10

42:

00
?0
+L  # increment by 21
+L
overactor
źródło
Wygląda na to, że 0 ... L są literałami liczbowymi.
Adám,
2
@NBZ Nie są, nie można ich używać niezależnie. Od +0 do + Z są jak wbudowane funkcje. Jest nudny, ale ważny.
overactor
4

> <> , 86 bajtów

  • 0: ln;
  • 1: lln;
  • 2: llln;
  • 3: lll+n;
  • 4: lll:+n;
  • 5: llll+n;
  • 6: llll++n;lubllll:+n;
  • 7: lllll+n;
  • 8: lllll:+n;
  • 9: lllll++n;lubllllll+n;
  • 10: llll+:+n;lublll:l+*n;
  • 42: llll*ll+*n;

Opiera się na wielkości stosu, aby uzyskać jego literały.

Aaron
źródło
Prawdopodobnie możesz usunąć nkażdy z nich, ponieważ funkcje w językach opartych na stosie mogą pozostawić dane wyjściowe na stosie na -11 bajtów.
redstarcoder,
@redstarcoder wtedy mogłem nawet usunąć w ;sumie 22 bajtów i rozważyć koniec funkcji osiągnięty na końcu linii, ale jest to trochę dwuznaczne, ponieważ ><>nie ma gotowych funkcji.
Aaron,
Technicznie, jeśli chcesz mieć funkcje ><>, twoje funkcje muszą zaakceptować pozycję powrotną (x i y) na stosie oprócz ich parametrów, upewnij się, że nie przeszkadzają one podczas wykonywania obliczeń ( [jest to przydatne w tym kontekście), następnie przeskocz do pozycji powrotu po zakończeniu wykonywania. Zrobiłem POC jakiś czas temu, sprawdź to, jeśli jesteś zainteresowany
Aaron
Widziałem już twój post i dobra robota! Zrobiłem meta post na temat niejednoznaczności funkcji . Mówię, że jest to zwykle dozwolone, z ;. Powodem, dla którego mówię, aby wyjść, ;jest to, że w przeciwnym razie nie ma możliwości oznaczenia, gdy funkcja kończy się bez znaku .. Wydaje się, że większość ludzi uważa to za uczciwe, ale mogę się tutaj napisać , jeśli jesteś zaniepokojony.
redstarcoder,
1
@redstarcoder dzięki za informacje! Wydaje mi się, że dodawanie ><>fragmentów kodu .byłoby najlepszym sposobem na trzymanie się definicji funkcji opisanej w najpopularniejszej odpowiedzi w poście, jednak zgadzam się, że ;jest to dobra alternatywa, która wymaga mniej wyjaśnień.
Aaron,
4

Formuły MS Excel, 163 151 150 143 bajtów

Nie do końca język programowania, ale proszę bardzo ...

0:  -Z9                         (03 bytes)
1:  N(TRUE)                     (07 bytes)
2:  TYPE(T(Z9))                 (11 bytes)
3:  TRUNC(PI())                 (11 bytes)
4:  TYPE(TRUE)                  (10 bytes)
5:  ODD(PI())                   (09 bytes)
6:  FACT(PI())                  (10 bytes)
7:  ODD(PI()+PI())              (14 bytes)
8:  EVEN(PI()+PI())             (15 bytes)
9:  TRUNC(PI()*PI())            (16 bytes)
10: EVEN(PI()*PI())             (15 bytes)
42: EVEN(CODE(-PI())-PI())      (22 bytes)

PI()jest używany w większości przypadków, ponieważ jest to krótszy (jestem tego świadom) sposób na wprowadzenie wartości liczbowej bez użycia literału liczbowego lub łańcuchowego. Nkonwertuje różne rzeczy (w tym logiczne) na liczby i Tkonwertuje różne rzeczy na tekst. TYPEzwraca 2 dla argumentu tekstowego i 4 dla argumentu boolowskiego. TRUNCodrzuca część ułamkową (tj. zaokrągla liczby dodatnie w dół), EVENzaokrągla w górę do następnej liczby parzystej i ODDzaokrągla w górę do następnej liczby nieparzystej. CODE(-PI())to kod ASCII pierwszego znaku konwersji na tekst -π, tj. 45 (dla „-”).

EDYCJA: Usunięto znaki równości z liczby bajtów (-12!) - jak wskazał Nᴮᶻ w komentarzach, nie należy ich uwzględniać.

EDYCJA 2: Zakładając, że reszta arkusza jest pusta, możliwe jest użycie odwołania do pustej komórki jako zera (ponownie, sugerowane przez Nᴮᶻ) pod warunkiem, że uwzględnimy znak minus (lub użyjemy go w innym wyrażeniu liczbowym), aby rozwiązać niejednoznaczność typu.

dnep
źródło
0=Z9
Adam
Usunąłem =s, dzięki. Jeśli chodzi o twoją sugestię, celowo uniknąłem odwołań do komórek, aby upewnić się, że formuły są niezależne od zawartości tabeli - jeśli Z9zawiera tekst, =Z9nie zwróci już zera. Postanowiłem nie zakładać niczego o stole.
dnep
w każdym razie sprawiłeś, że znów go
ograbiłem
Ale niektóre języki mają wszystkie zmienne ustawione na 0, jeśli nie są ustawione na coś innego. W tym kontekście widziałbym Excela jako język z (teoretycznie nieskończonymi) komórkami pamięci A1: ZZZ ..: 999 ... i bez rozróżnienia między kodem programu a danymi (tzn. Może się sam modyfikować). Ponieważ każdy fragment jest niezależny od pozostałych, zakładam, że jest w A1, a reszta arkusza jest pusta. (W przypadku programów miałbym jedno całe zdanie w każdej komórce A1, A2 itp.)
Adám
Rozumiem twój punkt ... ale istnieje kolejny problem z odwołaniami do komórek: Z9na pustym arkuszu jest pusta wartość, która jest konwertowana 0w wielu przypadkach, ale może być konwertowana na ""(pusty ciąg), jeśli jest używana w niektórych wyrażeniach - podobnie jak niezainicjowany wariant VBA - więc nie jest ściśle równoważny z 0. Na przykład = 0&"a" jest oceniany, "0a"ale = Z9&"a"ocenia "a". Można to jednak rozwiązać, dodając -do odwołania jednoargumentowy (co wymusza numeryczne - znowu, podobnie jak w VBA). Więc -Z9 może być użyte jako zero. Właśnie zaktualizowałem odpowiedź. Dzięki jeszcze raz.
dnep
4

DUP , 68 bajtów

[
 [
  [
[)]!
[ )]!
[  )]!
[)~_]!
[ )~_]!
[  )~_]!
[   )~_]!
[)$+]!
[ )$+~_$+]!

Try it here.

Istnieje wiele sposobów, aby to zrobić, ale nadużywam stosu zwrotu dla tego.

Wyjaśnienie

Aby to w pełni zrozumieć, musisz zrozumieć zachowanie DUP dotyczące lambd. Zamiast wypychać samą lambdę do stosu, w rzeczywistości wykrywa ona lambda na stosie, kiedy to wykryje. To może wyjaśnić pierwsze 3 fragmenty, które dotyczą lambd.

Następne fragmenty używają stosu zwrotnego. Po !wykonaniu bieżący adres IP jest wypychany do stosu zwrotnego, a górna część stosu jest ustawiana jako nowy adres IP w celu rozpoczęcia wykonywania lambda. )wyskakuje liczba ze stosu zwrotnego na stos danych.

To wystarczy, aby wyjaśnić resztę fragmentów. Jeśli nadal go nie masz, pamiętaj, że Stepprzycisk jest całkiem przydatny!

Mama Fun Roll
źródło
4

05AB1E, 40 38 24 bajtów

¾
X
Y
XÌ
Y·
T;
T;>
T;Ì
TÍ
T<
T
žwT+
  • Wciśnij counter_variable
  • Naciśnij 1
  • Naciśnij 2
  • Naciśnij 1 + 2
  • Naciśnij 2 * 2
  • Naciśnij 10/2
  • Naciśnij (10/2) +1
  • Naciśnij (10/2) +2
  • Naciśnij 10-2
  • Naciśnij 10-1
  • Naciśnij 10
  • Naciśnij 32, 10, dodaj
acrolith
źródło
1
jest bardziej czysty niż stosu Yx, Xmoże być stosowany zamiast ºtutaj (Domyślnie jest to 1, ºznaczy len(stack)>1, więc nie zalega do niczego). Ponadto liczba bajtów wynosi 24, a nie 35 (CP-1252, znaki nowej linii nie liczą się, jeśli są osobnymi fragmentami).
Erik the Outgolfer,
Wiem, że nie było to jeszcze możliwe w momencie, gdy to publikowałeś, ale 6 może być ₆tteraz (push 36, pierwiastek kwadratowy), aby zapisać bajt ( Wypróbuj online ).
Kevin Cruijssen
3

D1ffe7e45e , 112

0
02
020
0202
02020
020202
0202020
02020202
020202020
0202020202
02020202020
202020202020202020202020202020202020202020

Każda linia to inny fragment kodu.

Liczby w programie nie liczą się jako literały liczbowe, ponieważ są używane tylko jako polecenia.

Ostatnią można zdecydowanie pograć w golfa.

EDYCJA: Mam tłumacza działającego i wszystkie fragmenty działają. Jeśli chcesz sam sprawdzić, dodaj 0f0ffragment kodu, aby program się zakończył.

ASCIIThenANSI
źródło
6
Te z pewnością wyglądają dla mnie dosłownie. Nie wysyłaj też kodu, którego nie testowałeś.
Mego
2
Czy możesz wyjaśnić, jak one działają?
Adám
@NBZ D1ffe7e45e działa w oparciu o różnicę między dwiema liczbami szesnastkowymi. Różnica ta jest następnie interpretowana jako polecenie. Na przykład różnica między 0 a 2 wynosi 2, co jest interpretowane jako polecenie przyrostowe (jak +w Brainf ** k). Pomyślałem, że skoro są one używane jako polecenia, a nie literały liczbowe, nadal się liczyły. Usunę odpowiedź, jeśli nie będzie.
ASCIIThenANSI,
@Mego Mam działającego interpretera i mój kod działa. Zobacz powyższy komentarz, dlaczego uważam, że nie są one dosłowne.
ASCIIThenANSI,
1
Nie wydaje mi się, żeby któryś z nich był dosłowny. Jednak nie sądzę, że powinieneś drukować liczby, ponieważ wynik każdego fragmentu kodu musi skutkować faktyczną liczbą, którą można wykorzystać do dalszych obliczeń .
Dennis
3

Pyth, 35 34 33 bajtów

-1 bajt @Mimarik

Istnieje kilka możliwości dla niektórych programów.

0, 1 bajt

Z

1, 2 bajty

hZ
!Z

2, 3 bajty

hhZ
eCG
eCd
lyd
lyb
lyN

3, 3 bajty

l`d

4, 3 bajty

l`b
eCN

5, 4 bajty

hl`b
telG

6, 3 bajty

elG

7, 4 bajty

tttT
helG

8, 3 bajtów

ttT

9, 2 bajty

tT

10, 1 bajt

T

42, 4 bajty

yhyT

Wszystkie one obejmują albo podstawowe polecenia double ( y), +1 ( h) i -1 ( t), albo l(długość łańcucha). Zmienna Z jest inicjowana do zera.

Dla 5 bjest inicjowany znakiem nowej linii. Backtick daje "\n"(łącznie z cudzysłowami, a długość tego ciągu wynosi 4.

Wypróbuj je tutaj !

lirtosiast
źródło
Użytkownik Mimarik zasugerował zapisanie bajtu na 42 z yhyT. (Odrzuciłem edycję zgodnie z meta.codegolf.stackexchange.com/questions/1615 / ... )
Martin Ender