Generator kodu z unikalnymi znakami


35

Wyzwanie

Twoim zadaniem jest napisanie fragmentu kodu, który wyświetli inny fragment kodu. Ten kod musi z kolei generować kolejny kod, dopóki kod końcowy nie wyśle ​​liczby całkowitej 1 . Łańcuch kończy się przy pierwszym wyprowadzeniu 1 .

Żaden z twoich programów nie może dzielić żadnych znaków (jest jeden wyjątek w sekcji Reguły).

Zwycięskie zgłoszenie będzie zgłoszeniem o najdłuższym łańcuchu. Łącznik będzie najkrótszą całkowitą długością kodu.


Zasady:

  • Możesz używać zarówno funkcji, programów, jak i fragmentów. Możesz założyć środowisko REPL.
  • Wszystkie funkcje muszą być napisane w tym samym języku
  • Języki niezależne od symboli są niedozwolone. Obejmuje to częściowo niezależne od symboli języki, takie jak Zagłówki.
  • Domyślne formatowanie wyjściowe można opcjonalnie pominąć w danych wyjściowych funkcji. Obejmuje to końcowe znaki nowej linii ans =itp.
  • Możesz ponownie użyć znaku spacji (punkt kodu ASCII 32), ale zwróć uwagę na następujące kwestie:
    • Możesz użyć tyle znaków spacji, ile chcesz w jednej z funkcji, ale ogranicz ją do maksymalnie 5 we wszystkich innych funkcjach
    • Nie możesz ponownie używać żadnych znaków, jeśli kod 32 nie jest spacją w twoim języku.
  • Żaden z programów nie może pobierać danych wejściowych

  • Łańcuch musi mieć co najmniej dwa programy.


Przykład:

Twój początkowy kod to abc+cab+bac. Daje to:, foofoo*123co z kolei daje disp(~0), co daje 1. Jest to łańcuch 3 programów o łącznej długości 29 (remis).




Aby upewnić się, że zrozumiałem: programy mogą używać komentarzy, prawda? Mam na myśli części kodu, które są „bezużyteczne”
Luis Mendo

2
Czy dozwolone są proste wyrażenia? Na przykład, może ostatnie ogniwo programu Pythona mieć 2^3, co tylko do oceny 1, czy to ma być przykład lambda:2^3, print(2^3)itd?
nneonneo

3
W językach, w których literały mogą być programami (np. W wielu językach golfa), może 1być zarówno programem, jak i wynikiem tego programu, czy też łańcuch kończy się, kiedy 1jest wynikiem?
Emigna

Odpowiedzi:


18

05AB1E , 5-łańcuchowy: 236 + 29 + 13 + 3 + 1 = 282 bajtów

10101100011010001101100010110110001111000111001110101001000000000010111100100110011011010110011000100110101001001101100001110001111010100100000100010010001010011101011001110001000001011010101111001110011110001010111100001110110C₁<Au¦н.V

Wypróbuj online!

który drukuje program

633693S<J6bαð3<žQTÌ>è9663тαhJ

Wypróbuj online!

który drukuje program

522472 2-255B

Wypróbuj online!

który drukuje program

88ç

Wypróbuj online!

który drukuje program

X

Wypróbuj online!

który drukuje 1


8784>žxBi prawdopodobnie jestem KO'd. Brak liczb do konwersji podstawowej jest całkowitym crapshootem, chyba że go wyliczysz. Celem, jeśli chcesz pokonać emignę, jest użycie jak najmniejszej liczby unikalnych liczb na iterację. Jego odpowiedź jest najwyższa z powodu 88 w drugiej do ostatniej iteracji. Naprawdę świetna odpowiedź.
Magic Octopus Urn

@MagicOctopusUrn: Możemy łatwo zwolnić 10i zrobić coś w systemie binarnym. Ale nie wiem, czy możemy wygenerować pierwszy program z pliku binarnego bez B.
Emigna

2
@MagicOctopusUrn: Twoje zadanie może być nieco trudniejsze, ponieważ uważam, że mam 5-łańcuchowy;)
Emigna

2
@MagicOctopusUrn: Będę szczęśliwy :) To było bardzo fajne wyzwanie!
Emigna

1
Gratulacje za zdobycie 5. łańcucha!
Chromium,

12

Java 8, łańcuch 2 funkcji, 90 + 10 37 + 4 28 + 4 = 32 bajty

o\u002D\u003E"\44\55\76"+2/2

Co odpowiada:

o->"$->"+2/2

-57 bajtów dzięki @ OlivierGrégoire .

Wypróbuj online.

Który zwraca ciąg znaków:

$->1

Wypróbuj online.

Która zwraca liczbę całkowitą:

1

\u0076\u002D\u003E\u0022\u0076\u002D\u003E\u0022+(3\u002D2)(59 bajtów + 4 bajty). Reguła mówi: „Żaden z twoich programów nie może dzielić żadnych znaków”, więc v->1jest ważny, ponieważ finał 1nie jest programem.
Olivier Grégoire


@ OlivierGrégoire Wiedziałem, że v->1zwracanie 1 jest ważne, ale w mojej pierwotnej odpowiedzi \u0031zawierało 1, a v->1następnie zawierało również 1. Fajna kombinacja zarówno Java Unicode, jak i zwykłej Java. I grałem w golfa jeszcze 2, zmieniając (2/2)na 2/2. (PS: Jakob również ma już odpowiedź Java 3 łańcucha ).
Kevin Cruijssen

@ OlivierGrégoire Correction, byłem w stanie zagrać w golfa do 28 + 4, używając "\44\55\76"zamiast"\u0076\u002D\u003E"
Kevin Cruijssen

Fajna gra w golfa na moim;) Nie sprawdziłem jeszcze odpowiedzi na 3 łańcuchy. Zrobię to teraz.
Olivier Grégoire

10

R , 3-łańcuchowy 198 + 44 + 3 bajty

`+`=`\143\141\164`;+"\143\141\164\050\151\156\164\124\157\125\164\146\070\050\143\050\070\070\055\071\055\071\054\071\071\071\055\070\070\071\055\070\055\070\054\070\070\055\071\055\071\051\051\051"

Wypróbuj online!

Zwroty:

cat(intToUtf8(c(88-9-9,999-889-8-8,88-9-9)))

Wypróbuj online!

Zwroty:

F^F

Wypróbuj online!

Zwroty 1

Objaśnienie:

Pierwszy program jest prawie całkowicie napisany w postaci ósemkowej, gdzie każdy znak jest zapisany tak, jak \xxxgdzie xxxjest kod ASCII w trybie ósemkowym. W formie czytelnej dla człowieka byłoby:

`+`=`cat`;+"cat(intToUtf8(c(88-9-9,999-889-8-8,88-9-9)))"

Tutaj, aby uniknąć użycia nawiasów okrągłych, redefiniujemy operator prefiksu +równy catfunkcji, a następnie używamy go do wydrukowania następnego łańcucha. Nawet po przypisaniucat do +tego ostatniego, operator zachowuje swój „prefiks” operatora prefiksu i po prostu przyjmuje to, co następuje po nim, jako jego pierwszy parametr.

Drugi program po prostu drukuje znaki F^Fotrzymujące je z dziesiętnego ASCII:70,94,70

Ponieważ w pierwszym programie użyliśmy reprezentacji ósemkowej, tylko liczby 8i 9można z nich korzystać; stąd otrzymujemy 70iz 94pewnymi różnicami między liczbami tylko 8'si 9's.

Wreszcie ostatni program F^F, wykorzystuje ^funkcję (moc), który wymusza FALSEna 0i oblicza0^0 powracającego1

Kredyty dla:

  • @ngm dla pierwszego pomysłu na 2 łańcuchy
  • @Giuseppe dla podpowiedzi, aby używać funkcji ósemkowych w funkcji
  • @BLT i @JayCe, aby pomysł zastąpić +w celu uniknięcia nawiasów klamrowych

Poprzednia wersja :

R , 2-łańcuchowy 27 + 3 24 + 2 bajty

cat(intToUtf8(c(49,76)))

Wypróbuj online!

Zwroty:

1L

Wypróbuj online!

Powraca 1.


Niezłe! Jest catobowiązkowe
JayCe

2
Potencjalnie możesz mieć wynik jako ciąg znaków, "wri\164e"(function args)aby uniknąć innego tlub podobnego kodowania
Giuseppe

1
@Giuseppe @digEmAll Zgodnie z najnowszymi komentarzami do pytania cat(intToUtf8(c(49,76)))to zadziałałoby i jest nieco krótsze. Nie rozwija jednak łańcucha.
JayCe

2
@digEmAll Zobacz komentarz BLT do mojej odpowiedzi na kolejne wyzwanie ... Myślę, że może tu być coś.
JayCe,

2
Uczyniłem tę odpowiedź Wiki Wiki. Dodaj to z małym wyjaśnieniem.
ngm

8

Python 2 , 2-łańcuchowy, 7 + 44 = 51 bajtów

lambda:("7072696e74203"+`3-2`).decode("hex")

i

print 1

Wypróbuj online!

Podstawowy kod 16 tłumaczy print 1, który jest zwracany przez funkcję anonimową.


7

Perl 5, 3-łańcuchowy, 151 139 znaków (114 + 20 + 5)

&{"CORE::SYSWRITe"|"CORE::39372!4"}(STDOUT,"\x70\x72\x69\x6E\x74\47\x50\x42\x5A\3\22\47\x5E\47\43\43\43\43\43\47")

Brzydota wewnątrz &{ }ewaluuje CORE::syswrite, więc ciąg znaków ucieczki heksów jest drukowany na standardowe wyjście jako:

print'PBZ^C^R'^'#####'

Należy pamiętać, że ^ C i ^ R powyżej reprezentują dosłowne znaki kontrolne. (I nie mylić z dosłownością^ kursorem, który występuje pomiędzy dwoma strunami.)

Ten program z kolei generuje:

say 1


6

Cjam, 4-łańcuchowy, 28 + 20 + 3 + 1 = 52 bajty

Fragment 1:

"tugshrm\x18$\x18vj\x1b\x07um~l$\x1b"{71^}%

Snippet 2:

32 4/5*_c_1-\@2*9+c\

Fragment 3:

'Y(

Snippet 4:

X

Który następnie drukuje 1.

Wypróbuj online!

Uwaga:

  1. Ponieważ Cjam nie ma interpretacji znaków ucieczki, te we fragmencie 1 są dostępne tylko po to, aby uzyskać lepszy widok strony. Aby uruchomić fragment, musisz użyć odpowiednich rzeczywistych znaków.

  2. Jeśli nie mogę ogolić więcej postaci, to dobra robota na @Emigna po 05AB1Eodpowiedź!


W fragmencie 2 ponownie 1użyłeś postaci użytej w fragmencie 1
digEmAll

Proszę zobaczyć moją notatkę. Znaki specjalne są dla wygody czytelnika, w Cjam nie ma znaków specjalnych lub nie tłumaczą się one na znaki, które Twoim zdaniem byłyby w językach takich jak C lub python. Podczas testowania dosłownie musisz wprowadzić znaki ręcznie zamiast używać znaków zmiany znaczenia.
Chromium

Ach, rozumiem, dzięki
digEmAll

5

Excel, Łańcuch 2, 27 + 3 bajty

=CHAR(45)&CHAR(45)&CHAR(49)

Nie jestem pewien, czy to jest w porządku ...


2
Czy nie powinno być też CHAR(61)&na początku łańcucha 2?
Emigna

5
Powinieneś używać francuskiego zamiast angielskiego ( CHARzostań CAR, 3 bajty zapisane), nie jestem pewien, czy inny język zmniejszy go bardziej
Sefa

1
@Emigna Ale wydaje się, że wpisuje --1komórkę i wcisnął Enter, po prostu pokazałby 1się na ekranie ...
tsh

@tsh: Hmm, tak, wygląda na to, że Excel dodaje =domyślnie, jeśli piszesz --1.
Emigna

1
@Neil Excel nie wstawia =znaku +1(ale robi to --1), więc nie będę go uważał za wyrażenie. I nie jestem pewien, czy po prostu zapisywanie 1w komórce i nazywanie jej „wyjście 1” jest prawidłowe. Dlatego --1jest używany.
tsh

5

kod bajtowy x86, łańcuch 2, 10 + 4 bajty

(Zmontowany z FASM, format PE)

ÇA.Ï?¿<÷Y.tworzy 1À@Ãw adresie obok niego i wykonuje go, który zwraca 1eax (zgodnie z fastcall). W obu przypadkach .faktycznie reprezentujeA lub LF.

W hex: C7 41 0A CF 3F BF 3C F7 59 0Ai31 C0 40 C3 .

Zdemontowano:

mov dword ptr ds:[ecx+A],3CBF3FCF
neg dword ptr ds:[ecx+A]         

produkuje

xor eax,eax                      
inc eax                          
ret                              

To (ab?) Wykorzystuje fakt, że punkt wejścia programu jest przechowywany w ecxie, a następnie zapisuje odwrotność kodu do wykonania na adres 10 bajtów i neguje go.

Może, ale nie musi się zepsuć, jeśli jest złożony z niczym innym niż fasm, do niczego poza PE lub z innym punktem wejścia.


5

JavaScript REPL, dużo bajtów, 4 iteracje

(+!![]+[!![]+!![]+!![]+!![]]+![]+![]+(+!![])+![]+(+!![])+(+[])+![]+(+!![])+(+!![])+![]+![]+(!![]+!![]+!![])+![]+(!![]+!![]+!![])+![]+![]+(+!![])+![]+(!![]+!![])+![]+(!![]+!![]+!![]+!![])+![]+![]+(+!![])+(!![]+!![])+![]+(+!![])+(!![]+!![])+![]+![]+(+!![])+![]+(!![]+!![])+![]+(!![]+!![]+!![]+!![]+!![])+![]+![]+(+!![])+![]+(!![]+!![])+![]+(!![]+!![]+!![]+!![])+![]+![]+(+!![])+![]+(!![]+!![])+![]+(+!![])+(!![]+!![]+!![])+![]+![]+(+!![])+![]+(!![]+!![])+![]+(+!![])+(!![]+!![]+!![])+![]+![]+(!![]+!![]+!![])+![]+(!![]+!![]+!![])+![]+![]+(+!![])+![]+(!![]+!![])+![]+(!![]+!![]+!![]+!![])+![]+![]+(+!![])+(!![]+!![])+![]+(+!![])+(!![]+!![])+![]+![]+(+!![])+![]+(!![]+!![])+![]+(!![]+!![]+!![]+!![]+!![])+![]+![]+(+!![])+![]+(!![]+!![])+![]+(!![]+!![]+!![]+!![])+![]+![]+(+!![])+![]+(!![]+!![])+![]+(+!![])+(!![]+!![]+!![])+![]+![]+(+!![])+![]+(!![]+!![])+![]+(+!![])+(!![]+!![]+!![])+![]+![]+(+!![])+![]+(+!![])+(+[])+![]+(+!![])+(+!![])+![]+![]+(+!![])+(!![]+!![])+![]+(+!![])+(+[])+![]+![]+(+!![])+![]+(!![]+!![])+![]+(!![]+!![]+!![]+!![]+!![]+!![])+![]+![]+(+!![])+![]+(!![]+!![])+![]+(+!![])+(+!![])+![]+![]+(+!![])+![]+(+!![])+(+[])+![]+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+![]+![]+(+!![])+![]+(+!![])+(+[])+![]+(+!![])+(!![]+!![]+!![]+!![]+!![])+![]+![]+(+!![])+![]+(!![]+!![])+![]+(!![]+!![]+!![])+![]+![]+(+!![])+![]+(+!![])+(+[])+![]+(+!![])+(+!![])+![]+![]+(+!![])+![]+(+!![])+(+[])+![]+(+!![])+(+!![])+![]+![]+(+!![])+(!![]+!![])+![]+(+!![])+(+[])+![]+![]+(+!![])+![]+(!![]+!![])+![]+(!![]+!![]+!![])+![]+![]+(+!![])+![]+(+!![])+(+[])+![]+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+![]+![]+(+!![])+![]+(+!![])+(!![]+!![])+![]+(!![]+!![]+!![]+!![]+!![]+!![])+![]+![]+(+!![])+![]+(!![]+!![])+![]+(!![]+!![]+!![])+![]+![]+(+!![])+![]+(!![]+!![])+![]+(!![]+!![]+!![]+!![]+!![]+!![]+!![])+![]+![]+(+!![])+![]+(+!![])+(+[])+![]+(+!![])+(!![]+!![]+!![]+!![]+!![])+![]+![]+(+!![])+![]+(+!![])+(+[])+![]+(!![]+!![]+!![]+!![]+!![])+![]+![]+(+!![])+![]+(+!![])+(+[])+![]+(!![]+!![])+![]+![]+(+!![])+![]+(+!![])+(+[])+![]+(+!![])+(+!![])+![]+![]+(+!![])+![]+(+!![])+(+[])+![]+(+!![])+(+!![])+![]+(+!![])+(!![]+!![]+!![]+!![]))[(![]+[])[!![]+!![]+!![]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]][([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+[]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]]+[])[!![]+!![]+[+[]]]+([][(!![]+[])[!![]+!![]+!![]]+([][[]]+[])[+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([![]]+[][[]])[+!![]+[+[]]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]]()+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(![]+[])[+!![]])()([][[]]))[+!![]+[+[]]]+(![]+[])[!![]+!![]]+([![]]+[][[]])[+!![]+[+[]]]+(!![]+[])[+[]]](![])[(+(!![]+!![]+[+[]]+(+!![])+(!![]+!![])+(!![]+!![]+!![]+!![]+!![])))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([]+[])[([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+[]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(!![]+[])[+!![]]][([][[]]+[])[+!![]]+(![]+[])[+!![]]+([]+(+[])[([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+[]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(!![]+[])[+!![]]])[+!![]+[+!![]]]+(!![]+[])[!![]+!![]+!![]]]](!![]+!![]+!![]+[+[]])](([]+[])[([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]][([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+[]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]]+[])[!![]+!![]+[+[]]]+([][(!![]+[])[!![]+!![]+!![]]+([][[]]+[])[+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([![]]+[][[]])[+!![]+[+[]]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]]()+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(![]+[])[+!![]])()(+[]+[![]])[!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+!![]]+(+[![]]+[][(!![]+[])[!![]+!![]+!![]]+([][[]]+[])[+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([![]]+[][[]])[+!![]+[+[]]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]]())[+!![]+[+!![]]]+(!![]+[])[+[]]][([][(!![]+[])[!![]+!![]+!![]]+([][[]]+[])[+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([![]]+[][[]])[+!![]+[+[]]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]]()+[])[!![]+!![]]+([![]]+[][[]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+([][[]]+[])[!![]+!![]]]([][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]][([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+[]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]]+[])[!![]+!![]+[+[]]]+([][[]]+[])[+[]]+([][[]]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]+[+[]]]+(![]+[])[+!![]]+(![]+[])[!![]+!![]])()(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+[+!![]]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]][([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+[]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]]+[])[!![]+!![]+[+[]]]+([][(!![]+[])[!![]+!![]+!![]]+([][[]]+[])[+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([![]]+[][[]])[+!![]+[+[]]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]]()+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(![]+[])[+!![]])()(![]+[![]])[+!![]+[+[]]]+(!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!![]+!![]+!![]+!![])+([][(!![]+[])[!![]+!![]+!![]]+([][[]]+[])[+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([![]]+[][[]])[+!![]+[+[]]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]]()+[])[!![]+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+!![]+!![])+(!![]+!![])+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(![]+[])[+[]]+(!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!![]+!![]+!![]+!![]+!![])+([][[]]+[])[!![]+!![]]+([]+[])[(![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(!![]+[])[+[]]+([]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+(!![]+[])[+!![]]]()[+!![]+[!![]+!![]]]+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![])))[([][(!![]+[])[!![]+!![]+!![]]+([][[]]+[])[+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([![]]+[][[]])[+!![]+[+[]]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]]()+[])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!![]+[+[]]]+(![]+[])[!![]+!![]]+(![]+[])[!![]+!![]]])[+!![]+[+[]]]+([![]]+[][[]])[+!![]+[+[]]]+([][[]]+[])[+!![]]]([])
"\x60\44\x7b\55\x7e\x7b\x7d\x7d\44\x7b\55\x7e\x7b\x7d\x7d\x60\56\x73\x70\x6c\x69\x74\x60\x60\56\x74\x6f\x53\x74\x72\x69\x6e\x67\x60\x60"
`${-~{}}${-~{}}`.split``.toString``
1,1
1

Zbyt leniwy, aby zoptymalizować kod JSFUCK

JavaScript REPL, 164 bajty, 3 iteracje

może być w stanie się rozwinąć

[g=222222222222222222,e=2e40,f=2e23,f,2e40,n=2222e49,r=2e24,2e30,e,n,r,8e28,2e40,n,r,9e29,g].map(S=>String.fromCharCode(Math.log(S))).join([])
'\55\x7E\x7B\x7D'
-~{}
1

Wypróbuj online!


@JoKing Nie korzystałem 1z innych profesjonalistów, więc pierwszy 1to program, a drugi to wynik
l4m2

Nie używasz ponownie {}?
Neil

@Neil Naprawiono i zoptymalizowano
l4m2

„Łańcuch kończy się przy pierwszym wyprowadzeniu 1”.
12

5

CJam, 7 łańcuchów, 92365 + 1819 + 79 + 14 + 9 + 3 + 1 bajtów

Ten 92365-bajtowy program zostanie wydrukowany

YaY+`$1<mR1+1+1+1+1+1+11+1+1+YaY+`$1<mR1+1+1+1+1+1+11+1+1+1+YaY+`$1<mRYaY+`$1<mR1+1+1+1+1+1+11+1+1+1+YaY+`$1<mR11+11+YaY+`$1<mR1+11+11+YaY+`$1<mR1+1+1+1+1+1+11+1+1+YaY+`$1<mRYaY+`$1<mR1+1+1+1+1+1+11+1+1+1+YaY+`$1<mR11+11+YaY+`$1<mR1+1+1+1+1+1+11+1+1+1+1+YaY+`$1<mR11+11+YaY+`$1<mRYaY+`$1<mR1+1+1+1+1+1+11+1+1+1+YaY+`$1<mR11+11+YaY+`$1<mR1+11+11+YaY+`$1<mR1+1+1+1+1+1+11+1+1+YaY+`$1<mRYaY+`$1<mR1+1+1+1+1+1+11+1+1+1+YaY+`$1<mR11+11+YaY+`$1<mR1+1+1+1+1+1+11+1+1+1+1+YaY+`$1<mR11+11+YaY+`$1<mRYaY+`$1<mR1+1+1+1+1+1+11+1+1+1+1+YaY+`$1<mR1+1+1+1+1+1+11+1+1+1+YaY+`$1<mR11+11+YaY+`$1<mR1+1+1+1+1+1+11+1+1+1+YaY+`$1<mRYaY+`$1<mR1+1+1+1+1+1+11+1+1+1+YaY+`$1<mR11+11+YaY+`$1<mR1+1+1+1+1+1+11+1+1+1+1+YaY+`$1<mR11+11+YaY+`$1<mRYaY+`$1<mR1+1+1+1+1+1+11+1+1+1+YaY+`$1<mR11+11+YaY+`$1<mR1+11+11+YaY+`$1<mR1+1+1+1+1+1+11+1+1+YaY+`$1<mRYaY+`$1<mR1+1+1+1+1+1+11+1+1+1+YaY+`$1<mR11+11+YaY+`$1<mR1+11+11+YaY+`$1<mR1+1+1+1+1+1+11+1+1+YaY+`$1<mRYaY+`$1<mR1+1+1+1+1+1+11+1+1+1+YaY+`$1<mR1+11+11+YaY+`$1<mR1+1+1+1+1+1+11+1+1+1+YaY+`$1<mR1+1+1+1+1+11+YaY+`$1<mRYaY+`$1<mR1+1+1+1+1+1+11+1+1+YaY+`$1<mR1+1+1+1+1+1+11+1+1+1+YaY+`$1<mRYaY+`$1<mR1+1+1+1+1+1+11+1+1+1+1+YaY+`$1<mR1+1+1+1+1+11+YaY+`$1<mRYaY+`$1<mR1+1+1+1+1+1+11+1+1+YaY+`$1<mR1+1+1+1+1+1+11+1+1+1+YaY+`$1<mR1+11+11+YaY+`$1<mR1+1+1+1+1+11+YaY+`$1<mR1+11+11+YaY+`$1<mRYaY+`$1<mR1+1+1+1+1+1+11+1+1+1+1+YaY+`$1<mR1+1+1+1+1+1+11+1+1+1+YaY+`$1<mR1+11+11+YaY+`$1<mR1+11+11+YaY+`$1<mR1+1+11+11+11+11+11+1+1+1+1+YaY+`$1<mR11+11+11+11+11+11+11+1+1+1+1+1+1+1+1+1+1+1+1+1+1+YaY+`$1<mR1+1+11+11+11+11+YaY+`$1<mR1+11+11+YaY+`$1<mR1+1+1+1+1+11+11+1+1+YaY+`$1<mR11+11+YaY+`$1<mR1+1+1+1+1+1+11+1+1+1+YaY+`$1<mR1+11+11+YaY+`$1<mR1+11+11+YaY+`$1<mR1+11+11+YaY+`$1<mR1+1+11+YaY+`$1<mR1+11+YaY+`$1<mR1+1+1+1+1+11+11+1+1+YaY+`$1<mR11+11+11+11+11+11+11+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+YaY+`$1<mR1+1+1+1+1+

który drukuje

34 4673 4656 4673 4656 5464 4656 4673 4673 4740 34 50 34707 5477]{N7=64777-,=}%

który drukuje

";*;*Q*;;~"2f^

który drukuje

9(9(S(99|

który drukuje

88c

który drukuje

X

który drukuje 1.


5

MATL , 5 programów, 404 + 159 + 35 + 4 + 1 = 603 bajtów

Dotarcie do 4 programów było trudne. 5 programów było bardzo trudne!

'/'37 13+3+3+'3`/'37 13+3+3+77 13+37 13+3+3+'3`/'37 13+3+3+'3tttttttt`/'37 13+3+3+'3#'37 13+3+3+'3ttttt`'37 13+3+3+'3ttttt'37 13+3+3+77 13+'/'37 13+3+3+'3`<<tttttttttt'37 13+3+3+'3#'37 13+3+3+77 13+37 13+3+3+'3///<3////t````ttttt```<</////t`````t<3tttttttttt<3tt/'37 13+3+3+'3ttttttttt'37 13+3+3+'3`{'37 13+3+3+77 13+'y$'37 13+3+3+'3/////t`````ttI#I'77 13+3+'dk'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh3_+''h

Wypróbuj online!

,50],5W50],50qqqqqqqq],50 50qqqqq]50qqqqq5W,50]99qqqqqqqqqq50 5W50,,,90,,,,q]]]]qqqqq]]]99,,,,,q]]]]]q90qqqqqqqqqq90qq,50qqqqqqqqq50]x5Wv!50,,,,,q]]]]]qqF FZah

Wypróbuj online!

To może być mój ulubiony program, który napisałem na PPCG:

22 2 2**2-2-- 22Y2 2EEEEEEEEBPX)2) 

Wypróbuj online!

84
c

Wypróbuj online!

T

Wypróbuj online!

Wyjaśnienie:

Po spędzeniu wielu godzin na tym programie nie napiszę teraz całego wyjaśnienia! Napiszę to później!

Krótkie podsumowanie:

T            -> Literal true = 1

84c          -> Convert 84 to its ASCII-character T

22 2 2**...  -> Calculate 84 using only 2, * and -
 22Y2        -> 22Y2 is a cell array with the name of all the months
 2EE..B      -> Is 512 in binary [1 0 0 ...]
 P           -> Flips is, [0 0 ... 1]
 X)          -> Uses the binary vector as index and gets the 10th element
             -> 'October'
2)           -> The second character, 'c'
             -> Resulting in the stack: 84, 'c' that's implicitly printed

,50]...      -> A string with ASCII character codes of '22 2...
             -> There's a lot of ,xyz], which means "do twice" and q which is decrement

Aby przekonwertować to na ciąg zamiast kodów znaków, musimy połączyć go z ciągiem za pomocą h. Aby uzyskać ciąg, bez użycia cudzysłowów lub modyfikatorów XY, wykonujemy konwersję podstawową i przekształcamy liczbę całkowitą na spacje.


'/'37 13 ...  -> Concatenation of strings and character codes using only available numbers
3_+           -> Subtract 3 from all character codes to get the correct ones
''h           -> And concatenate with the empty string.

4

CJam, 10 programów, 5,751,122,990 bajtów

Byłem zbyt leniwy, żeby grać w golfa ... Ale najwyraźniej nie muszę grać w golfa, aby być konkurencyjnym. Ale bez gry w golfa trudno jest opublikować rozwiązanie w odpowiedzi.

Teoretycznie powinien on działać w interpretatorze JavaScript , ale program jest zbyt długi, aby przetestować go w przeglądarce. Powinien on wypisywać to samo w interpretatorze Java, z wyjątkiem ostatniego programu. Ale może również zabraknąć pamięci w interpretera Java dla kilku pierwszych programów.

Statystyka

5683631402 bytes, used )\_l
  65027874 bytes, used %&<>WXehrstu{|} and newline
   2247044 bytes, used +DEFHIS~
    199997 bytes, used ,38=[]`
     15352 bytes, used -25:N and space
      1181 bytes, used 67c
        84 bytes, used #'(@CKMTgkp
        21 bytes, used !"$?BJLQR^fijo
        16 bytes, used */4AGYZabdy
        19 bytes, used .09
         1 byte,  used 1

Pierwsze bajty

l)__)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))...
\n{s}sX>X<eu{h}sX>X<eu{\n}sX>X<{{XXXXXXX}seeseeseeW>{X<{|}%}%}%{|}sX>X<{{X}se...
SH+~+E+E+E+SH+~+H+E~+SH+~+H+E~+SI+~+H+D+D+SI+~+I+E+E+SH+~+H+E~+SF+~+E+SD+~+D+...
[33]`3=,3333=[33]`3=,388333=[8]`88=,8333=[8]`88=,8333=[8]`88=,8338=[8]`88=,33...
N:--25--22- 2-N:--25--22- 2-N:--22--22-N:--25--22- 2-N:--25--22- 2-N:--22--22...
776776777767c677676676677667c66677666676776c776776777767c7667776c666776666767...
'#('@('T(('k(('T((('k(('K('p(''((('@('T(('k(('T((('k(('k('M('#(('#('C('g('g((...
"?RiQiJo$?RiQijL!"Bf^
4YbZbAd/4YbZbaG*
0.99999999999999999
1

\n jest nowa linia w drugim programie.

Generator

"'#('@('T(('k(('T((('k(('K('p(''((('@('T(('k(('T((('k(('k('M('#(('#('C('g('g((((((((("

{_[i1:X;{_1&6+ \1$X*X5*:X;- 2/}16*;]__,,:)\f<Wf%10fb:c@#)<W%'c}%s

"67c"
"N:--22--22-
N:--25--22- 2-
N:--55--25--5--2--2-"N/ers

"N:-25 "
"[33]`3=,3333=
[33]`3=,388333=
[8]`88=,8333=
[8]`88=,8338=
[8]`88=,333=
[8]`88=,88="N/ers

"[]`38=,"
"SH+~+E+E+E+
SI+~+H+D+D+
SI+~+I+E+E+
SH+~+H+E~+
SI+~+I+D~+H+E~+
SF+~+E+
SD+~+D+D~+"N/ers

"SDEFHI+~"
"{s}sX>X<eu
{t}sX>X<{{XXXXXXXX}s{X}s{XXXXXX}erseeW>{X<{&}%}%}%
{ee}sX>X<eu
{&}sX>X<{{XXXXXXs}s{X}s{XXXXXX}erseeW>{X<{|}%eu}%}%
{h}sX>X<eu
{h}sX>X<eu{X|}%
{N}sX>X<{{XXXXXXX}seeseeseeW>{X<{|}%}%}%
{|}sX>X<{{X}seeW>{X<{|}%}%}%"N/'Nf/Nf*erN\+s

1>"l)_"o)\{'_oi10-')*o'\o}/i10-')*o


3

JavaScript (ES6), 2 funkcje, 31 + 4 = 35 bajtów

function(){return atob`Xz0+MQ`}

zwraca _=>1, która zwraca1


Czy wywołanie funkcji nie musiałoby być częścią każdego programu?
TehShrike

@TehShrike Funkcje były wyraźnie dozwolone w regułach. (Funkcja + jej kod wywołania byłby pełnym programem. Nie sądzę, żeby miałoby to sens).
Arnauld

Och, dobra rozmowa, spóźniłem się 👍
TehShrike

3

Galaretka ,  38 37 36  35 bajtów, Łańcuch 4

ØJiⱮ⁾ɱṾ⁽÷ṃ;ṾØJ⁽¡Ṡị

Wypróbuj online! ( 18 bajtów)

8220,163,187Ọ

Wypróbuj online! ( 13 bajtów)

“£»

Wypróbuj online! ( 3 bajty)

!

Wypróbuj online! ( 1 bajt)

18 + 13 + 3 + 1 = 35 bajtów

W jaki sposób?

ØJiⱮ⁾ɱṾ⁽÷ṃ;ṾØJ⁽¡Ṡị - Main Link: no arguments
    ⁾ɱṾ            - list of charcters -> ['ɱ','Ṿ']
ØJ                 - yield the characters of Jelly's code-page
   Ɱ               - Ɱap across the two characters applying:
  i                -   first index of? -> [163, 187]
       ⁽÷ṃ         - 8220 (a base 250 compressed number)
          ;        - concatenate -> [8220, 163 187]
           Ṿ       - un-eval (get Jelly code) -> "8220,163,187"
                   - (Note: here a full program prints 8220,163,187 as it is the end
                   - of a leading constant chain due to the following constant)
            ØJ     - yield the characters of Jelly's code-page
              ⁽¡Ṡ  - 1206 (a base 250 compressed number)
                 ị - index into (1-indexed & modular, so gets the 182nd item, 'Ọ')
                   - implicit print (making the final output 8220,163,187Ọ)

8220,163,187Ọ - Main link: no arguments
8220,162,187  - list of numbers -> [8220, 162, 187]
            Ọ - cast ordinals to characters -> ['“','£','»']
              - implicit print (flat Jelly lists print as if strings so outputs “£»)

“£» - Main link: no arguments
“   - open string-literal
 £  - the content of the string-literal
  » - close it interpreting as a compressed string
    - this yields ['!']
    - implicit print (outputs !)

! - Main link: no arguments
! - factorial (of implicit input 0 - 0! = 1 as it is the empty product)
  - implicit print (outputs 1)

3

Python 2 , 3 fragmenty, 68 + 12 + 3 = 83 bajty

chr(44*2+4).join([chr(42&54),`45+25`,`42*2+52`,`4*4+55`+chr(42&54)])

który tworzy ciąg literałów ósemkowych:

"\70\136\71"

który produkuje:

8^9

Który w końcu produkuje 1.

Wypróbuj online!


3

Java 8, 3 programy, 431 bajtów

Program 1, 332 bajty

Lambda z jednego (pustego) parametru dowolnego typu na String.

x\u002D\u003E"\151\156\164\40\157\75\70\46\70\52\70\54\156\75\53\53\157\53\70\73\156\145\167\40\123\164\162\151\156\147\50\51\53\50\143\150\141\162\51\50\47\171\47\53\157\51\53\50\143\150\141\162\51\50\47\54\47\53\157\51\53\50\143\150\141\162\51\50\47\75\47\53\157\51\53\156\53\50\143\150\141\162\51\50\47\56\47\53\157\51\53\156\73"

Jest to po prostu lambda ze znakami strzałek, które uniknęły znaków Unicode, zwracając tekst drugiego programu zakodowanego ósemkowymi sekwencjami ucieczki.

Wypróbuj online

Program 2, 93 bajty

Snippet produkujący a String.

int o=8&8*8,n=++o+8;new String()+(char)('y'+o)+(char)(','+o)+(char)('='+o)+n+(char)('.'+o)+n;

Wypróbuj online (z dodanym zwrotem)

Program 3, 6 bajtów

Lambda z jednego (pustego) parametru dowolnego typu na int.

z->9/9

Wypróbuj online


2
Niezła odpowiedź! Możesz zagrać \166w golfa \44dla -1 bajtu, ponieważ $jest to również poprawna nazwa zmiennej. Wypróbuj online , w wyniku czego $->9-8( Wypróbuj online. )
Kevin Cruijssen

After several tries, it's just not possible to make a 3-chain with Java. You need the \uXXXX in the first code to avoid ->. Then you need either return (function) or System.out (snippet or function), both contain a u which you already used in \uXXXX. So I personally think this entry is invalid and I downvoted it accordingly.
Olivier Grégoire

@ OlivierGrégoire Urywki są wyraźnie dozwolone w tym wyzwaniu (pierwsza reguła). Ponadto System.console().printfmożna zastosować, aby zapobiec użyciu u. Coś podobnego zostało zrobione w tej odpowiedzi i użyłem jej również w tych dwóch moich odpowiedziach .
Kevin Cruijssen

Dzięki @KevinCruijssen, ale fragment kodu musi nadal być generowany. Oto poprawka dotycząca wszystkich: x->"\146\157\162\50\143\150\141\162\40\44\72\156\145\167\40\143\150\141\162\133\135\173\47\171\47\54\47\54\47\54\47\75\47\54\47\70\47\54\47\56\47\54\47\70\47\175\51\123\171\163\164\145\155\56\143\157\156\163\157\154\145\50\51\56\160\162\151\156\164\146\50\53\53\44\53\156\145\167\40\123\164\162\151\156\147\50\51\51\73"(319 bajtów) zamienia się w for(char $:new char[]{'y',',','=','8','.','8'})System.out.printf(++$+new String());(89 bajtów) zamienia się w z->9/9(6 bajtów). Łącznie: 404 bajty.
Olivier Grégoire

Miałem na myśli System.console()drugi program, który ma poprawnie 89 bajtów (podczas gdy System.outrobi to 83 bajty).
Olivier Grégoire

2

SmileBASIC, łańcuch 3, 375 bajtów

k=59599-44444print c("sbanm",k,4,"")+c("sbwav",44-5,2,"")+c("sbwav",594-222,4,"")+c("game5vs",4528-442,2,"")+c("sbanm",k,4,"")+c("sbanm",72,5-4,"")*2+c("sbwav",594-222,4,"")+c(sbwav,854-44,2,"")+c("staffroll",259+2,9,"")+c("ex8techdemo",24455,5-2,"")+key(4)[.]def c(f,s,l,q)for i=.to-5+l+4q=q+load("txt:sys/"+f,.)[s+i]next:return q:end

Wyjścia:

CHR$63OUT A$CHR$33OUT B$PRINT A$;B$;L

Wyjścia:

?!0

Wyjścia:

1

2

PHP 7.0, 2-łańcuchowy, 35 + 8 = 43 bajty

Podczas pisania pierwszej odpowiedzi zdałem sobie sprawę, że mogę po prostu użyć kodu base64 dla drugiego echa. Ogolił 11 bajtów, więc oto jest. Poniżej możesz znaleźć mój oryginalny pomysł.

Uruchom używając php -r:

echo base64_decode('RUNITyAxPz4=');

To daje:

ECHO 1?>

Który następnie oczywiście drukuje:

1

Wydajność:

Code run with additional && echo for readability
Mój kod po uruchomieniu w terminalu. Załączonych && echo jest tylko dla czytelności.

Komentarze:

Naprawdę nie ma w tym wiele. Bardzo proste, gdy wiesz o „?>” Domyślnie działającym jako „;”. „Podstępna” część polegała na ustaleniu, co należy zakodować:

  • ECHO 1; stał RUNITyAx O szer == , więc mamy wielkie zderzenie O tych. Nie dobrze.
  • echo 1; stał się ZWN o przezAxOw == , więc teraz są dwie małe litery o. Niefortunny!
  • ECHO 1?> Stał się RUNITyAxPz4 = . Ma taką samą długość i żadna z postaci nie koliduje. Więc to jest to!

Alternatywnie możemy również użyć „echO” i „ECHo” (36 + 7 = 43 bajty).

echO base64_decOde('RUNIbyAxOw==')?>
ECHo 1;
1

Możemy również zmienić; i?> używając tego. Działa równie dobrze i ma taką samą długość.



Moje wstępne rozwiązanie:

PHP 7.0, 2-łańcuchowy, 44 + 10 = 54 bajtów

To jest najlepsze, co mogłem wymyślić na początku. Zrozumiałem, że „unikalne znaki” oznaczają, że „echo” nie jest równe „ECHO”. Mam nadzieję, że mam rację!

Uruchom używając php -r:

echo strtoupper(urldecode('echo true%3b'))?>

To daje:

ECHO TRUE;

Co z kolei daje nam nasz numer:

1

Wydajność:

Code run with additional && echo for readability
Mój kod po uruchomieniu w terminalu. Załączonych && echo jest tylko dla czytelności.

Kilka komentarzy:

  • Myślę, że możesz zrobić tylko 2 łańcuchy w PHP, ponieważ wymaga to „;” separator instrukcji.
    • Możesz obejść ten problem raz , używając „?>”, Co oznacza średnik, ale oczywiście nie można go ponownie użyć ponownie
    • To była dla mnie najtrudniejsza część. Nie wiedziałem, że to zadziałało wcześniej, ani że „?>” Było nawet dozwolone podczas uruchamiania przez php -r
  • Używając strtoupper (), mogłem po prostu napisać kod łańcucha nr 2 małymi literami, podczas gdy dane wyjściowe są oczywiście wielkie. Łatwy tryb właśnie tam!
  • urldecode () pozwala mi zakodować „;” jako „% 3b”
  • To wszystko, co naprawdę istnieje, nic ekscytującego

Dzięki za wyzwanie. Nauczyłem się czegoś dzisiaj!


2

Lua, 2 łańcuchy, 83 + 8 = 91 bajtów

load(('').char(0x70,0x72,0x69,0x6E,0x74,39,0x70,0x72,0x69,0x6E,0x74,34,49,34,39))()

Wyjścia

print"1"

Które wyjścia

1



1

Röda, 2 chain, 31 + 3 = 34 bytes

Fragment 1:

(`X.Z`/"")|ord _|push _+3|chr _

Wypróbuj online!

Snippet 2:

[1]

Wypróbuj online!

Są to fragmenty, ponieważ każdy prawidłowy program Rödy musi zawierać main{...}wzdęcia. Są to również ważne programy REPL firmy Röda.


1

dc, 3 programs, 48 bytes

Pierwszy:

82 2-adAArdAAI2*-rAAI-I2/2^-f

Daje drugi:

75
P
90
P
110
P

Daje trzeci:

KZn

Plony 1.

Wypróbuj online!(ma wrzucony kod czyszczenia stosu i drukowania nowego wiersza, aby wszystkie trzy bity działały za jednym razem).

Być może najlepiej zacząć w programie trzy, KZn. Jest tylko kilka sposobów na wydrukowanie rzeczy dci zdałem sobie sprawę, że na tym etapie prawdopodobnie utknęłbym w jednym z nich plub nw obu przypadkach w setnych ASCII. Oznacza to, że prawie na pewno będę musiał wygenerować 1 zamiast korzystać z programu 1n. Kwypycha bieżącą precyzję (domyślnie: 0) na stos i Zwypycha liczbę cyfr na szczycie stosu, co daje nam 1 do wydrukowania.

Drugi program jest dość prosty. Pwypisuje znak o podanej wartości ASCII, więc wypisujemy 75( K) 90( Z) i wreszcie 110( n), co działa wspaniale. Oznacza to również, że oprócz wyżej wymienionego 1, nie mogę używać cyfr 5, 7, 9 lub 0 w innym miejscu. Potrzebuję też innej metody niż Pprzekształcanie liczb w znaki.

The first program, then, has to make four numbers without using the digits 1, 5, 7, 9, or 0. It needs to make 80 (ASCII value of P): 82 2-; 75: AA (110) I- (subtract the default input radix, 10) I2/ (so, 5) 2^ (so, 5^2, 25) - (75); 90: AA (110) I2* (twice the default input radix of 10, so 20) - (90); and 110: well, it's just AA. After making 80, we use a to convert a number to a string. There are some reverse and duplicate commands in there to put the Ps in the right spots, and then finally we print the whole stack with f.

I'm pretty sure I didn't screw this up, but I did have my head spinning a little bit...


1

05AB1E, 5 + 3 = 8 bytes

ght<n

Try it online!

which right off the bat returns

I am taking the output 1.0 as not equalling 1, so I run that code:

1.0

Try it online!

which returns

1

And there you go!

Number of programs = 2


Welcome to PPCG.
Muhammad Salman

I just tried to write random things and see what i get. Also, one might use a turing machine program.
Caleb Evans

You can remove the h (convert to hexadecimal). The g (get length, default 0) with t (square-root) already gives a decimal 0.0. With < (decrease by 1) it becomes -1.0 and then n (square) changes this into 1.0. You could also replace the <n with > (increase by 1). ;) So in total it's 3 bytes (gt>). Alternatively you could use Xt (1 and square-root). PS: I'm not sure if 1.0 to 1 is a valid part of the chain. I've asked OP to verify. Welcome to PPCG and enjoy your stay.
Kevin Cruijssen

well, computers process the string '1.0' differently than '1'.
Caleb Evans

0

Ruby, 2-chain, 24+3 = 27 bytes

$><<(''<<56+56<<' '<<49)

Output is

p 1
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.