Steve Ballmer jest byłym dyrektorem generalnym Microsoft, aw ostatnim artykule stwierdził, że „nadal nie wie, co zrobił źle z telefonem komórkowym”.
Jak zauważył biuletyn CodeProject , „tytuł tego artykułu można by zakończyć w wielu miejscach i nadal być dokładny”.
Bez danych wejściowych wypisz następujące dane:
Steve Ballmer still does not know.
Steve Ballmer still does not know what he did.
Steve Ballmer still does not know what he did wrong.
Steve Ballmer still does not know what he did wrong with mobile.
To musi być wyprowadzone dokładnie tak, jak pokazano, i musi być jedynym wyjściem twojego programu. Możesz dołączyć pojedynczy znak nowej linii.
To jest golf golfowy, więc wygrywa najmniej bajtów w każdym języku
code-golf
string
kolmogorov-complexity
Skidsdev
źródło
źródło
developers developers ...
while 1 {puts developers}
- demo1"developers "[!@11 1>]
: Pyes developers
Odpowiedzi:
Python 3 ,
100999997 bajtów-1 bajt dzięki ovs
-1 bajt dzięki Jonathan Allan
-1 bajt dzięki Dennis
Wypróbuj online!
źródło
Haskell, 96 bajtów
Wypróbuj online!
scanl
jest podobnyfoldl
(lub redukuje, jak to się nazywa w innych językach), z tym wyjątkiem, że zwraca listę wszystkich wyników pośrednich zamiast tylko końcowego. Każdy wynik pośredni jest dołączany".\n"
i wszystkie są łączone w jeden ciąg.źródło
05AB1E ,
50494544 bajtów4 bajty zapisane z inspiracją odpowiedzią Java Kevina
Wypróbuj online!
Wyjaśnienie
źródło
Ballmer
?mer
me
ale niestety nieSiatkówka ,
8275 bajtówDzięki Neil za oszczędność 7 bajtów.
Liczba bajtów zakłada kodowanie ISO 8859-1.
Wypróbuj online!
Wyjaśnienie
Zainicjuj ciąg roboczy do pełnego nagłówka.
Jak zauważył Neil, wszystkie trzy skróty są wykonywane przed słowem zaczynającym się od
w
i nie ma innych słów zaczynających się odw
. Dopasowujemy więc spację, a po niej,w
aby znaleźć punkty obcięcia. W tych punktach wstawiamy następujące elementy:.¶
, kropka i kreska, aby skrócić zdanie i rozpocząć nowe.$`
, cały ciąg przed dopasowaniem, dzięki czemu następne zdanie zaczyna się od początku.$&
, spacja iw
jeszcze raz, aby były również częścią następnego zdania.Nie musimy dopasowywać
mobile
jawnie, ponieważ będzie to po prostu to, co pozostało z trzeciego meczu.źródło
.¶$`$&
.PHP,
1049594 bajtówźródło
/// , 88 bajtów
8 bajtów zapisanych przez @MartinEnder!
Wypróbuj online!
źródło
4
całkowicie: tio.run/##DcLRDcMgDAXA/…05AB1E , 46 bajtów
Wypróbuj online!
źródło
Java 8,
127126 bajtów-1 bajt dzięki @KonstantinCh .
Wypróbuj tutaj.
źródło
string
nie możesz byćvar
w swoim C # lambda?()=>{var t="Steve Ballmer still does not know";return t+".\n"+(t+=" what he did")+".\n"+(t+=" wrong")+".\n"+t+" with mobile"+".";};
jest niestety o trzy bajty dłuższy."+d
na końcu,."
aby zapisać bajt, ponieważ końcowe podawanie linii jest opcjonalne.C (gcc) , 112 bajtów
Wypróbuj online!
źródło
Galaretka ,
5246 bajtówPodziękowania dla
ṬċḌ)⁹œḃṣ⁷Ṅḋ%W3Œƭ;ḷẓ
@EriktheOutgolfer, który wykorzystał to w swojej odpowiedzi .Wypróbuj online!
Jak to działa
Lwia część pracy odbywa się tutaj poprzez kompresję słownikową Jelly.
koduje
nie
|
wskazuje granice między wyrazami, że gdy odebrane ze słownika i łańcuchy, które są kodowane po jednym znaku (mer
,es
it
).Podobnie
£Ṿ⁴'Þḣ~ẉ
kodujewhat| he| did
(zaskakująco,he
czy nie pochodzą ze słownika),¥Ị)
kodujewrong
iṠ8gÐ/
kodujewith| mobile
.w ten sposób daje tablicę ciągów
;\
kumulatywnie zmniejsza się przez konkatenację, budując frazy w każdej linii.Na koniec
p”.
oblicza iloczyn kartezjański tych wyrażeń i znaku kropki iY
oddziela powstałe zdania według linii.źródło
JavaScript (ES6), 102 bajty
Spróbuj
źródło
C (gcc) ,
124122 bajtówWypróbuj online!
źródło
A
iB
oraz ciągi, które je definiują.Siatkówka ,
9586 bajtówWypróbuj online! Edycja: Zapisano 9 bajtów, przechodząc z części wyjściowych całego łańcucha do budowania łańcucha w kawałkach.
:`
Jest potrzebne na pierwszych trzech etapach, aby je wyjścia.źródło
w
ae
, a następnie usuwając wszystko międzywr
ae
, a następniewi
ie
. Nie super golfowy z powodu nowej linii Retiny, ale zdecydowanie fajnyC #,
158128120114 bajtówZaoszczędź 30 bajtów dzięki @KevinCruijssen.
Zaoszczędź 6 bajtów dzięki @Shaggy.
Wersja korzystająca z podciągu dla 120 bajtów:
Wersja zapożyczona z @KevinCruijssen na 128 bajtów:
Wersja wykorzystująca zapętlenie dla 158 bajtów:
Proste podejście przy użyciu instrukcji potrójnych w pętli, aby za każdym razem dołączać nowe części do łańcucha.
źródło
C# >= 6
Bash,
111109107 bajtówWypróbuj online!
źródło
Vim, 79 klawiszy
<C-x><C-l>
automatycznie uzupełnia poprzednią linię. Alternatywnie można zastąpić wszystkie wystąpienia<CR><C-x><C-l>
z<Esc>o<C-a>
źródło
CJam , 79 bajtów
Wypróbuj online!
źródło
Ruby, 94 bajty
Iteruje przez 4 znaki w pierwszym ciągu, konwertując każdy na jego wartość ascii
n
i wyprowadzając zan
każdym razem pierwsze znaki drugiego ciągu. Naprawdę nie ma znaczenia, jaki jest ostatni znak pierwszego łańcucha, o ile jego wartość ascii jest równa lub większa niż długość drugiego łańcucha.źródło
Rozszczepienie,
299291269 bajtówWypróbuj online!
Wreszcie rozumiem język 2D!
Wyjaśnienie
Program spawnuje atom o 1 masie i zerowej energii (
1:0
atom)R
na linii 3 i zaczyna przesuwać się w prawo."Steve Ballmer still does not know"
drukuje każdą postać.%
przesuwa atom w górę, jeśli ma 0 energii, lub zmniejsza jego energię i przesuwa ją w dół.]
przesuwa atom w lewo,$
zwiększa energię atomu,W
przesuwa atom w górę.Gdy atom znajdzie się w górnym rzędzie, przesuwa się w lewo, aż osiągnie
"."
, co drukuje kropkęN
, która drukuje nową linię, i na koniecM
, który przesuwa atom w dół doR
ponownie, co następnie przesuwa atom w prawo .Każda pętla energii atomu jest o jeden wyższa, co oznacza, że przejdzie przez jeszcze jedną
%
. Po czwartej pętli dochodzi do;
końca trzeciej linii, która niszczy atom. Program kończy się, gdy wszystkie atomy zostaną zniszczone.źródło
Japt ,
706865616059 bajtówZawiera kilka znaków, które nie będą się tutaj wyświetlać; kliknij poniższy link, aby zobaczyć pełny kod.
Wypróbuj online
34 bajty zapisane dzięki ETH , plus kolejne 4 z pewnymi monitami.Wyjaśnienie
Wszystko między dwoma backtickami jest skompresowanym ciągiem następujących elementów:
źródło
[`Sve Ba¥´r Ð]l º not know`` Ø ¹d`` Ùg`` ØP ¶ßè.`]m@P+=X}
, a następnie kilka kolejnych bajtów, które wymagają usunięcia[
i]
(pozwolę ci to rozgryźć).£P±X +'.}R
na koniecGalaretka , 49 bajtów
Wypróbuj online!
źródło
PHP, 116 bajtów
„;
Wypróbuj online!
źródło
SOGL , 42 bajty
Wyjaśnienie:
źródło
data/p.sogl
wklej kod. Następnie uruchomienie kodu przetwarzania powinno go uruchomić, a dane wyjściowe powinny znajdować się w konsoli./processing-java --sketch=../SOGL/P5Parser --run p.sogl ""
p.sogl
. jeśli nie ma nic w STDOUT lubP5Parser/output.txt
, nie wiem.Sed, 96
Wypróbuj online .
Podano niejawny wpis nowej linii, zgodnie z tym meta-pytaniem .
źródło
\.
sIdź ,
140127 bajtówWypróbuj online!
źródło
Nim , 100 bajtów
tutaj to samo w bardziej czytelnym kodzie:
Język ma krojenie ciągów znaków i włącznie górnych granic. Reszta powinna się wyjaśnić, jeśli znasz programowanie.
źródło
Węgiel drzewny ,
7169 bajtówWypróbuj online! Link jest do pełnej wersji kodu, z pominięciem niektórych separatorów, ponieważ deverbosifier nie może tego zrobić automatycznie. Jest to w zasadzie port odpowiedzi @ KevinCruijssen.
źródło
> <> , 135 bajtów
Zasadniczo przechodzi przez ciąg, wypisuje, a następnie zastępuje zatrzymanie pełne i warunkowe spacjami, aby poruszać się wzdłuż kodu.
Najlepszym rozwiązaniem może być wizualizacja za pomocą poniższego łącza do sadzawki;
> <> staw!
Wypróbuj online!
źródło
know
pisownia wstecznawonk
.Mathematica,
108104 bajtówWypróbuj online!
-4 bajty od Martina
źródło
> <> , 126 bajtów
źródło