Wydrukuj ostatni, środkowy i pierwszy znak kodu

60

Wyzwanie jest proste: wydrukuj ostatni, środkowy i pierwszy znak kodu źródłowego programu w tej kolejności.

Środkowy znak jest zdefiniowany w następujący sposób, przyjmując długość źródła nznaków i indeksowanie 1:

  • Jeśli njest parzysty, wypisz n/2-ty i n/2 + 1-ty znak. ( abcdef == cd)
  • Jeśli njest nieparzysty, wypisz (n-1)/2 + 1-ty znak. ( abcde == c)

Zasady

  • Bez danych wejściowych wydrukuj ostatni, środkowy i pierwszy znak w kodzie źródłowym, w formie [last][middle][first]. Będzie to 3-4 znaki.
  • Dane wyjściowe nie mogą zawierać końcowych białych znaków. Jeśli jednak biały znak jest pierwszym, środkowym lub ostatnim znakiem, musi zostać wydrukowany jako taki.
  • Kod źródłowy musi mieć n >= 3długość znaków.
  • Kod musi składać się z >= 3unikalnych znaków.
  • Standardowe luki są zabronione.
  • To jest , więc wygrywa najkrótsze rozwiązanie postaci .

Próbki

# Form: [code] --> [output]
xyz --> zyx
abcd --> dbca
1 --> # not allowed: too short
abcde --> eca
aaabb --> # not allowed: not enough unique characters
System.out.print("S;pr"); --> ;prS
this is a test --> ts t
123[newline]45 --> 53[newline]1

Propozycja wyzwania

bigyihsuan
źródło
6
Może to tylko ja, ale „Kod musi składać się z> = 3 unikalnych znaków”. sugeruje, że wszystkie znaki programu powinny być unikalne, podczas gdy potrzebujesz tylko co najmniej 3 różnych znaków.
Grzegorz Oledzki
4
@Belhenix Mniej niż trzy unikalne znaki umożliwiają rozwiązania tak proste, jak 121w wielu językach.
Khuldraeseth na'Barya
2
Jeśli ktokolwiek może znaleźć język oparty na stosie, który używa -do negacji i niejawnie drukuje z przesuwem linii, \n1-to jest trzy bajtowy. Moje poszukiwania były jak dotąd bezowocne.
Khuldraeseth na'Barya
3
@Belhenix Biała spacja jest z pewnością możliwa, ma wystarczającą liczbę unikalnych poprawnych znaków (spacja, wysuw wiersza, tabulator).
bigyihsuan
2
Nie można go teraz zmienić za pomocą 58 odpowiedzi, ale wymaganie „pierwsza litera kodu musi być inna niż ostatnia litera kodu” wykluczałoby wiele trywialnych odpowiedzi, w tym bieżącą odpowiedź najwyższą. Być może taki był cel „> = 3 unikalnych znaków”, ale wymaganie to nie jest tak naprawdę trudne.
manassehkatz

Odpowiedzi:

171

JavaScript, 9 7 bajtów

N=>a=-N

Wyjścia: NaN

Wypróbuj online!

Oliver
źródło
4
Bardzo mądry. To był takt, który starałem się podjąć, ale po prostu nie mogłem natknąć się na język z wystarczająco krótkim wyjściem błędu.
ouflak
49
To jedna z najlepszych odpowiedzi na Javascript, jakie kiedykolwiek widziałem
Daniel
21

Trawa , 17 bajtów

wWWwwwVVwWWwWWWww

Wypróbuj online!

-2 bajty dzięki jimmy23013.

Wyjścia www. Trawa ignoruje wszystkie znaki oprócz w, Wi v. Oba Vsą więc ignorowane; są tam po to, aby upewnić się, że środkowy znak jest w- nie mam pojęcia, jak wyprowadzać vlub Ww Grass… Mógłbym użyć innego znaku V, ale Vzachowuje estetykę kodu.

Robin Ryder
źródło
1
Na szczęście środkowa postać skończyła jako aw, a nie av lub W - nie mam pojęcia, jak wyprowadzać v lub W w Grass… ” Lol. xD Próbowałem zrobić coś podobnego w Whitespace, mając również tylko trzy znaki (spację, tabulację, nową linię ), ale niestety nie miałem tyle szczęścia. Na szczęście mogę po prostu dodać kilka brakujących operacji, aby to naprawić.
Kevin Cruijssen
@KevinCruijssen Gdyby środkowa postać była czymś innym, prawdopodobnie dodałbym w środku kilka xs (lub dowolną inną postać nie będącą Trawą, którą Grass ignoruje), aby przenieść ją ww odpowiednie miejsce.
Robin Ryder
Ach, jestem idiotą .. Mogę również wstawić znak spoza białych znaków, który Biały Znak zignoruje. ;) -2 bajty dzięki tobie.
Kevin Cruijssen
1
17 bajtów :wWWwww  wWWwWWWww
jimmy23013,
@ jimmy23013 Dzięki! I dziękuję za opublikowanie Twojej wskazówki ; Potrzebowałem tego, aby zrozumieć, co zrobiłeś! Zmieniłem spacje na Vs, ponieważ uważam to za ładniejsze. ;-)
Robin Ryder
17

pieprzenie mózgu , 17 bajtów

U-[>+<-UU--]>...U

Wypróbuj online!

W przypadku niedrukowalnych można to zmniejszyć do 7 bajtów: ␀..␀_.␀

ovs
źródło
1
W granicach zasad, ale BF nie używa Ujako instrukcji. Funkcjonalnie kod jest -[>+<---]>., więc oczekiwany wynik byłby .--, którego nie wyprowadza.
bigyihsuan
16
@bigyihsuan, ale kod źródłowy nadal zawiera Us, a ten interpreter chętnie je ignoruje. Czy nie należy liczyć każdej odpowiedzi, która zawiera komentarze lub wiele spacji (lub cokolwiek innego, co niekoniecznie ma znaczenie dla języka)?
dzaima
1
Nie powinno tak być U-[>+<-UU--]>...U? W obecnej formie kod pokazuje tylko jeden U
Helena
1
@Flater Tak, tutaj są używane, aby ułatwić wyzwanie, ale czy nie jest to celem tagu golfowego ? Wiele odpowiedzi tutaj samych ułatwia ich pracę, dodając wiodące / końcowe białe znaki, i ogólnie w golfowym kodzie tutaj dozwolone jest wszystko zgodne z regułami (i gdybym musiał zgadywać, czy istniała reguła zabraniająca nieużywanych znaków (określenie, które obiektywnie już jest prawie niemożliwe) oznaczałoby, że wyzwanie może wciąż unosić się na poziomie 0 i prawdopodobnie również zostanie zamknięte).
dzaima
2
Dlaczego po prostu nie używasz ÿ-.ÿ..ÿ? To jest krótkie do wydrukowania.
Dorian
17

Język programowania Szekspira , 119 bajtów

 ,.Ajax,.Page,.Act I:.Scene I:.[Enter Ajax and Page]
Ajax:  You big big big big big cat.Speak thy.Speak thy.Speak thy. 

Wypróbuj online!

Drukuje trzy spacje. Bez spacji:

Język programowania Szekspira , 227 bajtów

,.Ajax,.Page,.Act I:.Scene I:.[Enter Ajax and Page]Ajax:You is the sum of a big big big big big big cat a big pig.
You is the sum of you a large huge large big pig.
Speak thy.Speak thy.You is the sum of you a big pig.Speak thy.

Wypróbuj online!

Podobnie jak moja nowa odpowiedź INTERCAL, która nie zawiera nowej linii, jest ona tak skonstruowana, aby ostatni znak programu był taki sam jak środkowy znak (chociaż w tym przypadku nie jest to również pierwszy), odznaczając drugą część kodu, dopóki nie mecz. (Nie jestem pewien, czy mógłbym zbudować 46 w mniejszej liczbie bajtów, czy nie, czy też mógłbym zagrać w golfa w innych częściach pierwszej połowy więcej).

Niepowiązany ciąg
źródło
2
Nie spodziewałem się, że Szekspir się po to pojawi. To jest świetne
bigyihsuan
1
Chciałbym móc dać +1 tylko za naukę tego języka!
Stilez,
1
nawet w komunikatach wyjściowych debugowania tłumacza internetowego poczucie humoru autorów pokazuje: Ostrzeżenie w linii 2: oczekiwany „umysł”
dlatikay
1
163 bajty dla drugiej wersji, kończąc na!
Robin Ryder
1
@UnrelatedString OK, dzięki! Sporządzono .
Robin Ryder
14

Python 2 , 13 11 bajtów


print' t' 

Aby spacja była czysta:

$ xxd solution.py
0000000: 0a70 7269 6e74 2720 7427 20           .print' t'
$ python2 solution.py | xxd
0000000: 2074 0a                                t.

Wypróbuj online!

-2 bajty, dzięki wastl!

TFeld
źródło
6
Obie wyjściowe końcowe spacje (nowa linia), co jest niedozwolone. Alternatywa dla Python 2: Wypróbuj online!
wastl
Nie sądzę też, aby było to poprawne: Python wymaga posiadania pustego nowego wiersza na końcu kodu.
Geza Kerecsenyi
5
@GezaKerecsenyi Jak rozumiem, nowa linia na końcu kodu źródłowego jest tylko zaleceniem. Zobacz PEP8.
mypetlion
1
@GezaKerecsenyi Tylko wytyczna
mbomb007
@wastl Thanks! Naprawiony.
TFeld
11

RProgN 2 , 3 bajty

1
0

Wypróbuj online!

Myślę, że to jest ważne?

dzaima
źródło
Zgaduję 1i 0są wypychani na stos, a następnie niejawny pop-print na końcu programu? Tak, to jest ważne
bigyihsuan
2
@bigyihsuan to też zgaduję; Nie znam języka, po prostu pamiętam, że robi takie rzeczy: p
dzaima
@dzaima Haha, kiedy publikujesz odpowiedź, a nawet nie wiesz, jak to działa. xD Rzeczywiście widziałem RProgN kilka razy ze starymi [quine]wyzwaniami, zanim zasady quine uległy zmianie.
Kevin Cruijssen
Uważam, że jest to poliglota w tacsystemie Linux.
tsh
11

05AB1E , 7 5 bajtów


„ RR

Wyjścia R \n.

-2 bajty, czerpiąc inspirację z odpowiedzi Batch @Neil , więc pamiętajcie o nim również!

Wypróbuj online.

5 bajtów alternatywnie przez @Grimy :


12,1

Wyjścia 12\n.

Wypróbuj online.

Początkowa 7 bajtów odpowiedź:

'?„«'«?

Wyjścia ?«'.

Wypróbuj online.

Wyjaśnienie:

          # No-op newline
 R       # Push 2-char string " R"
   R      # Reverse this string to "R "
          # (output the result implicitly with trailing newline)

          # No-op newline
12,       # Print 12 with trailing newline
   1      # Push a 1 (no implicit printing, since we already did an explicit print)

'?       '# Push 1-char string "?"
  „«'    '# Push 2-char string "«'"
     «    # Concatenate them both together
      ?   # Output without trailing newline
Kevin Cruijssen
źródło
1
Alternatywa 5
Grimy
8

PHP , 9 bajtów

<?=";;<";

Wypróbuj online!

Luis Felipe De Jesus Munoz
źródło
3
W rzeczywistości, ponieważ PHP wyprowadza kod jako tekst do pierwszego <?znacznika, możesz użyć jednego z trywialnych 4-bajtowych rozwiązań, takich jak 1231- cokolwiek bez specjalnego znaku jako pierwszego i ostatniego, dowolne inne 2 znaki pośrodku. Twoja odpowiedź może być najkrótszą rzeczywistą odpowiedzią na kod PHP.
manassehkatz
7

Galaretka , 5 bajtów

001 0

Wypróbuj online!

Dane wyjściowe mają dwa różne znaki, ale kod ma również trzeci.

Trywialna 4-bajtowa wersja:

1231
Erik the Outgolfer
źródło
Czy nie jest 121również ważna, trywialna odpowiedź?
Teleportacja Kozła
@TeleportingGoat: Nie, ponieważ ma tylko dwie różne postacie
Oliver Hankeln
7

Excel, 9 bajtów

=("))=" )

Tyle nawiasów.

Uwaga: Zwrócony środkowy znak może faktycznie być dowolnym znakiem, ponieważ jest to środek kodu.

William Porter
źródło
Zdanie wtrącone! (Żarówka) Utknąłem z ostatnią potrzebną postacią ". Dobra robota!
Wernisch
Dzięki! Próbowałem to rozgryźć, a potem przypomniałem sobie, że nawiasy się sprawdzą.
William Porter
6

Rubinowy , 6 bajtów


p " "

Wypróbuj online!

To " "daje plus nowy wiersz. Kod kończy się na ", środkowe dwa znaki to i ", i zaczyna się od nowej linii.

histocrat
źródło
3
Podoba mi się twoja odznaka, uważam, że to NOR w skali szarości. Wygenerowałem prawie taki sam obraz, aby pomóc mi w przypadku problemu Euler Nim z projektu. Czy twoja odznaka ma historię?
Damien
1
Dobry chwyt! Po prostu lubię „bazgroły” podczas spotkań, generując zdjęcia przy użyciu jednowarstwowych; Xor był wczesnym faworytem.
histokrata
6

Język wsadowy DOS / Windows, 9 bajtów

@echo @o@
użytkownik88009
źródło
Witamy w Code Golf & Coding Challenges Stack Exchange, +1 za miły pierwszy post!
A
5

Partia, 9 znaków


@echo hh

Środkowy i ostatni znak to oba h, a następnie echodomyślnie wypisuje nowy wiersz, który jest pierwszym znakiem skryptu.

Neil
źródło
5

PowerShell, 3 bajty

00000000: 0a0d 31                                  ..1

Działa tylko w systemie Microsoft Windows.

Dane wyjściowe mają niestety 8 bajtów w UTF-16. Ale pytanie brzmi: wyprowadzaj znaki, a nie bajty. Prawdopodobnie UTF-16 jest tylko jednym z obsługiwanych sposobów reprezentowania znaków w PowerShell. Nie są one interpretowane inaczej niż plik ASCII.

jimmy23013
źródło
to mądra odpowiedź
mazzy
1
dozwolone, ponieważ 0x0a != 0x0d != 0x31:)
bigyihsuan
5

Bash ( 15 11 znaków)

echo -n e-e

który drukuje

e-e
  • -4 znaki przez nieużywanie |rev
Grzegorz Oledzki
źródło
1
@racraman Twoja sugerowana edycja echo<space>e<space><space>ewyświetli e<space>e<newline>zamiast e<space>e, więc ją odrzuciłem. Nowa linia jest częścią wyniku, dlatego GrzegorzOledzki używa tej -nopcji. Wypróbuj echo -n e-eonline vs Wypróbuj echo e eonline . I znowu, proszę, nie edytuj odpowiedzi innych ludzi. Jeśli masz do zaoferowania golfa, zostaw komentarz.
Kevin Cruijssen
także 11 bajtów z printf pfp, ale tylko dlatego, że potrzebujemy dwóch spacji ze względu na definicję środkowego znaku, w przeciwnym razie byłoby to 10 ...
pLumo
5

ArnoldC , 61 bajtów

IT'S SHOWTIME
TALK TO THE HAND "D I"
YOU HAVE BEEN TERMINATED

Wypróbuj online!

Trywialna odpowiedź w ArnoldC. 31 bajt to spacja tuż przed literałem łańcucha.

Charlie
źródło
5

Niedociążenie , 9 bajtów 7 bajtów

Dzięki Khuldraeseth na'Barya za ulepszone rozwiązanie!

W(SSW)S

Co do tego, co mogę powiedzieć, nie można tego teraz poprawić, ponieważ:

  • Pierwszy znak musi być znakiem braku op, ponieważ każda inna instrukcja powoduje błąd z powodu pustego stosu, z wyjątkiem nawiasu otwierającego. Jednak nie może tak być, ponieważ nie można samodzielnie wyprowadzić nawiasu otwierającego w trybie niedociążenia.
  • Musisz użyć co najmniej 5 znaków, aby dodać 3 znaki wyjściowe do stosu.
  • Aby go wydrukować, musisz użyć S.

Wypróbuj online!

EdgyNerd
źródło
Witamy w Code Golf SE! Można zaoszczędzić kilka bajtów omijając kopię, jak tak .
Khuldraeseth na'Barya
5

Język programowania Szekspira , 163 153 bajty

-10 bajtów dzięki Jo Kingowi.

B,.Ajax,.Page,.Act I:.Scene I:.[Enter Ajax and Page]Ajax:You is
the sum ofa Big Big Big BIG BIG cat a
CAT.Speak thy.You is twice you.Speak thy!SPEAK THY!

Wypróbuj online!

Moja pierwsza odpowiedź SPL! Wyjścia !BB.

Istnieje inna odpowiedź SPL autorstwa niepowiązanego łańcucha; w tej odpowiedzi wypisują tylko spacje w 119 bajtach lub znaki spacji w 227 bajtach. Ten znajduje się pomiędzy, a także wyświetla znaki spacji.

Wykorzystywane są tutaj dwie sztuczki:

  1. !.!25+1.
  2. Podwojenie 33 daje wartość 66, będącą punktem kodowym B, stąd tytuł jest Bi potrzebuję drugiego „dużego”, aby być „dużym”, co działa, ponieważ SPL nie rozróżnia wielkości liter.

Ponieważ potrzebowałem kapitału Bi wykrzyknika na końcu, postanowiłem, że Ajax będzie krzyczał coraz głośniej.

Robin Ryder
źródło
4

CJam , 7 bajtów

'@'' _@

Wypróbuj online!

Luis Mendo
źródło
4
Z pewnością 0 1 0jest krótszy i ma również trzy różne postacie (nie chcę odświeżać mojego podejścia do galaretki: P).
Erik the Outgolfer
1
@EriktheOutgolfer Cóż! Ale to tak samo jak twój answerm, więc zostawię to tak, jak jest
Luis Mendo
2
Tak, dlatego skomentowałem, tak naprawdę nie chciałem dwa razy publikować tego samego. (Hm ... to może być optymalne rozwiązanie dla wielu języków.) W każdym razie, twoje może mieć zastosowanie także w innych miejscach!
Erik the Outgolfer
4

Befunge-93 , 7 bajtów

.",  @0

Wypróbuj online!

Wyjaśnienie

Dane wyjściowe to 0 .

.       pop value (0) from stack, output as number with a trailing space
 "      toggle string mode, wraps around and pushes every char to the stack
  ,     pop value (".") from stack, output as character 
        spaces are no-ops
     @  end the program
      0 trailing 0 to match the output
ovs
źródło
4

APL (Dyalog Unicode) , 5 4 bajtów

Pełne programy.

Nudne rozwiązanie J.Sallé:

1231

Drukuje ten numer. O wiele bardziej interesujące rozwiązanie:

010E1

Wypróbuj online!

APL ignoruje wiodące zera, więc jest to po prostu skalowany format dla 10 × 10¹ = 100.

Adám
źródło
4

Szef kuchni , 447 bajtów

Last Middle First Milkshake.

This recipe prints its last, middle and first character.
You could also use it to make a milkshake. 

Ingredients.
76 ml milk
32 ml chocolate syrup
46 teaspoons vanilla ice cream

Method.
Liquefy vanilla ice cream.
Put the milk into 1st mixing bowl.
Put the chocolate syrup into 1st mixing bowl.
Put the vanilla ice cream into 1st mixing bowl.
Pour contents of the 1st mixing bowl into the 1st baking dish.

Serves 1.

Wypróbuj online!

Poważne poddanie się, 196 177 bajtów

dzięki A__

R.

Ingredients.
82 l a
103 l b
46 l c

Method.
Put a into mixing bowl.
Put b into mixing bowl.
Put c into mixing bowl.
Pour contents of mixing bowl into baking dish.

Serves 1.

Wypróbuj online!

użytkownik24343
źródło
Oglądanie programów szefa kuchni sprawia, że ​​zastanawiam się, co jest absolutnym minimum.
bigyihsuan
@bigyihsuan zobacz moją edycję
user24343
Możesz usunąć wszystkie litery i sprawić, że program będzie nadal działał .
A
I stworzył program roboczy. (177 bajtów)
a _
4

Python 3, 19 bajtów 13 bajtów


print( ')(')

Funkcja drukowania domyślnie dodaje nową linię, więc kod zaczyna się od nowej linii. Ostatni znak kodu to „)”, więc jest drukowany jako pierwszy. Aby liczba znaków była nierówna, należy wstawić spację przed argumentem funkcji drukowania. Proszę wybaczyć lubieżność kodu.

Wyjścia: )(\n

Wypróbuj online.

jaaq
źródło
1
W zależności od tego, jak działają zasady mogę mieć 13 bajtów grając ze swoim odpowiedź: `print („) (”)` Uwaga pojawia się nowa linia nad printi spacje wewnątrz printpo ")(". Wyjścia: )( z nową linią na końcu.
Hoog
Dzięki, do 13 bajtów! Ponieważ pytanie odnosi się konkretnie do białych znaków, ale nie do nowych linii, zakładam, że końcowe nowe linie, jako domyślny endparametr funkcji drukowania, nie liczą się.
jaaq
Spowoduje to wydrukowanie nowego wiersza, ale go nie uwzględnia.
A _
Nie jestem pewien, czy nowe wiersze liczą się jako białe spacje, ale dodałem drugą również 13-bajtową wersję.
jaaq
1
Tak, nowe znaki liczą się jako białe znaki, podobnie jak tabulatory i spacje
Jo King
4

Odstępu , 31 29 bajtów

[S aS S T   S S S S S N
_Push_32][S N
S _Duplicate_32][S N
S _Duplicate_32][T  N
S S _Print_as_character][T  N
S S _Print_as_character][T  N
S S _Print_as_character]

-2 bajty dzięki @RobinRyder .

Litery S(spacja), T(tab) i N(nowa linia) dodane tylko jako wyróżnienia.
[..._some_action]dodano tylko jako wyjaśnienie.

Wypróbuj online (tylko z surowymi spacjami, tabulatorami i nowymi wierszami).

Zawiera brak opcji a(może to być dowolny znak inny niż spacja), co powoduje, że długość jest nieparzysta. Jest dodawany przed pierwszą połową programu, więc środkowy znak jest również spacją, ponieważ środkowy znak stałby się znakiem nowej linii, gdyby znajdował się na drugiej połowie programu. Wszystkie znaki niebiałe są ignorowane w programach białych znaków.

Kevin Cruijssen
źródło
3

MathGolf , 5 4 bajtów

1231

-1 bajt przy użyciu trywialnego rozwiązania przedstawionego przez @ErikTheOutgolfer w jego odpowiedzi Jelly , która działa dla każdego języka z niejawnym wyjściem bez kończenia nowej linii.

Wypróbuj online.

Oryginalna odpowiedź 5 bajtów :

ùù xx

Wyjścia x ù.

Wypróbuj online.

Wyjaśnienie:

ùù x   # Push 3-char string "ù x"
    x  # Reverse it to "x ù"
       # (output the entire string joined together implicitly without trailing newline)
Kevin Cruijssen
źródło
3

Brain-Flak , 11 bajtów

(((())))

Wypróbuj online!

Wyjaśnienie

Musimy umieścić 3 rzeczy na stosie. Najszybszym sposobem na to jest umieszczenie 3 1s (lub zer) na stosie. Teraz, ponieważ (punkt kodowy 1) nic nie robi w Brain-Flak, możemy dodać je do programu na pierwszym środkowym i ostatnim miejscu. Teraz wydaje się to nieco podstępne, więc oto dwie kolejne odpowiedzi, które moim zdaniem są mniej podstępne.

Drukuje nawiasy klamrowe, 31 bajtów

( (((((()()()()()){}){}){}))())

Wypróbuj online!

Ta odpowiedź drukuje nawiasy klamrowe, dzięki czemu drukowane znaki są rzeczywiście związane z kodem, ma jeden znak dopełniający, który powoduje, że długość jest nieparzysta, więc musimy wydrukować tylko 1 środkowy znak.

Zawiera tylko nawiasy klamrowe, 32 bajty

(((()((((()(()()){}){}){}){}))))

Wypróbuj online!

Jest to program wyłącznie dla nawiasów klamrowych, zarówno źródło, jak i (w konsekwencji) dane wyjściowe składają się w całości z nawiasów klamrowych (postać, o którą właściwie chodzi Brain-Flak).

Kreator pszenicy
źródło
3

AsciiDots - 9 bajtów

.---$'.$.

Wynik: .$.

Kod zaczyna się na a ., kończy na a ., a środkowy znak to $. Pojedynczy cudzysłów na środku ustawia tryb drukowania kropkowego, aby po prostu czytać znaki bezpośrednio w strumieniu wyjściowym.

Możliwe, że można to zmniejszyć, ale zaczynam wątpić, że tak. Aby wydrukować trzy znaki, należy użyć pojedynczego cudzysłowu, ponieważ podwójny cudzysłów wymagałby końca łańcucha w celu uzyskania wyniku. Oznacza to jednak, że po pojedynczym cudzysłowie a) muszą następować trzy znaki, a b) nie może być znakiem centralnym. Aby zmniejszyć to do siedmiu bajtów, zastanawiałem się nad ponownym użyciem początku kropki jako jednej z drukowanych postaci (coś w rodzaju programu Quine AsciiDota). Odkryłem jednak, że najkrótsza sekwencja dostępna do drukowania to($'który musiałby wydrukować cztery znaki w odstępie trzech lub trzy znaki w odstępie czterech. Próbowałem także kilku alternatywnych metod, takich jak próba wydrukowania wartości kropki (czyli 0) jako jednego ze znaków. Chociaż może istnieć jakiś system, który działa, uważam, że są one dość złożone i duże. Dlatego uważam, że powyższe jest najmniejszym rozwiązaniem. (Zaktualizuję, jeśli znajdę coś mniejszego)

DaCoolOne
źródło
Witamy w Code Golf SE! Pomyślałem o tym przez kilka minut i doszedłem do tego samego wniosku, co ty. Miły pierwszy post!
Khuldraeseth na'Barya
1
Alternatywne 9 bajtów - /'$'-.[newline]\.Wypróbuj online!
Alion
3

MATLAB, 13 15 bajtów

disp(  ') d')

Wyjścia ) d

Poprzednia wersja (15 bajtów, mniej ścisłe wyjście):

'''';1;''''''''

Wyjścia '''

18 października jest dniem ciszy na SE
źródło
Widzę teraz, teraz zmartwienia.
Wheat Wizard
Czy to wyjście nie zawiera białych znaków?
Sanchises
@ Sanchises nope, size (ans) == 3
października jest dniem ciszy w dniu
Tak, ale rzeczywista moc wyjściowa to ans =\n '''\n. Zwykle nie stanowi to problemu, ale wydaje się, że wyzwanie to ustanawia ostrzejsze standardy. Ale może źle interpretuję to wyzwanie.
Sanchises
@ Sanchises hm, rozumiem. być może źle zrozumiem, co codegolf uważa za „wynik”, więc dane wyjściowe wydają się być dosłownie danymi wyjściowymi sformatowanymi przez MATLAB
października jest dniem ciszy w dniu