W golfie standardowe zadrapanie pola jest obliczane przy użyciu następującego wzoru:
(3*num_of_3_par_holes + 4*num_of_4_par_holes + 5*num_of_5_par_holes) - difficulty_rating
Twoim zadaniem jest obliczyć standardowe zarysowanie pola golfowego, biorąc pod uwagę te 4 dane wejściowe.
Powinieneś wziąć dane w dowolnej standardowej formie w formacie
[num_of_3_pars, num_of_4_pars, num_of_5_pars], difficulty rating
ale jeśli oszczędza bajty, wielu przyjmuje dane w inny sposób.
Powinieneś wypisać wynik końcowy dowolną zaakceptowaną metodą na meta, taką jak powrót z funkcji.
Najkrótszy kod wygrywa, ponieważ jest to golf golfowy !
Odpowiedzi:
Scratch, 145 bajtów
-2 dzięki boboquack
- ??? ponieważ pisanie go w Oto jest krótsze niż angielski
(Ponieważ Scratch to podstawowa podstawa).
Oto przykładowy przebieg:
.
źródło
Galaretka , 6 bajtów
Wypróbuj online!
Jak to działa
źródło
Java (OpenJDK 8) , 24 bajty
Wypróbuj online!
źródło
Haskell , 22 bajty
Wypróbuj online! Zastosowanie:
(3#2)5 7
plony35
.Ten niezbyt przyjemny format wejściowy jest o jeden bajt krótszy niż proste rozwiązanie:
Bezładny i ładny format wejściowy: (23 bajty)
Wypróbuj online! Powiąż
f
i dzwońf [3,2,5] 7
.źródło
Mathematica, 13
14bajtyDzięki @GregMartin. Weź dane jako listę długości 4.
źródło
{3,4,5,-1}.#&
(13 bajtów).Python 3 , 28 bajtów
Wypróbuj online!
źródło
JavaScript, 24 bajty
źródło
Perl6, 16 znaków
(Tak, to sub.)
Przykładowy przebieg:
Wypróbuj online!
źródło
Julia 0,5 , 15 bajtów
Wypróbuj online!
źródło
⋅
trzy bajty, czy też mylę się? Byłaby.*
poprawa? edycja: Nieważne - przegapiłem część podsumowującą..*
wykonuje tylko zwielokrotnienie elementarne; nie bierze sumy produktów.C #, 24 bajty
źródło
Kod maszynowy x86-64, 14 bajtów
Funkcja zgodna z konwencją wywoływania AMD64 w Systemie V (wszechobecna w systemach Gnu / Linux), która przyjmuje cztery parametry całkowite:
EDI
= num_of_3_par_holesESI
= num_of_4_par_holesEDX
= num_of_5_par_holesECX
= Trudność_cenZwraca w
EAX
rejestrze pojedynczą wartość, podstawową wartość podstawową .Mnemoniki do montażu bez golfa:
Proste tłumaczenie formuły. Interesujące jest to, że jest to zasadniczo ten sam kod, który napisalibyśmy również podczas optymalizacji prędkości . To naprawdę pokazuje moc X86 jest
LEA
instrukcja, która jest przeznaczona do l OAD e fektywny DRES, ale można zrobić dodawanie i skalowania (mnożenie przez niskie uprawnień 2) w jednej instrukcji, dzięki czemu jest arytmetyka workhorse potężne wielozadaniowy .źródło
Galaretka ,
107 bajtówWypróbuj online!
-3 bajty dzięki Erikowi The Outgolfer!
Jak to działa!
źródło
[]
ale możesz użyć tego3r5×⁸S_
do gry w golfa (3r5
->[3, 4, 5]
,⁸
= left argument, aby odróżnić go odS
,×
jest przemienny).Oktawa , 14 bajtów
Wypróbuj online!
Około dwa razy dłużej niż odpowiedź MATL . Początkowo dosłownie przeniosłem to na MATL, ale okazało się, że
iY*
jest on dłuższy niż tylko*s
. Zauważ, że wejściea
zawierające kolejność otworów, a następnie stopień trudności, powinno być wektorem kolumny.źródło
@(a)[3:5 -1]*a
. Dane wejściowe to wektor kolumnowy[3 holes; 4 holes; 5holes; difficulty]
Julia , 21 bajtów
Wypróbuj online!
źródło
Neim , 7 bajtów
Wyjaśnienie:
Alternatywny program:
3𝐈ᛖ𝕋𝐬S𝕊
Zamiast wypychać,
345
a następnie pobierać znaki, tworzy tablicę[1 2 3]
za pomocą3𝐈
, a następnie dodaje 2 do każdego elementu za pomocąᛖ
.Wypróbuj online!
źródło
This commit was pushed 8 days before the answer was posted.
cóż, tak naprawdę nie potrzebujesz tego.C (gcc) , 30 bajtów
Wypróbuj online!
źródło
a
.Swift 3 ,
2519 bajtówZdałem sobie sprawę, że nie potrzebujesz
var f=
, ponieważ możesz to nazwać jak lambda Python:Przetestuj online!
Zastosowanie:,
{$0*3+$1*4+$2*5-$3}(a,b,c,d)
gdziea,b,c,d
są parametry.źródło
pieprzenie mózgu , 39 bajtów
Wypróbuj online!
Pobiera dane wejściowe i drukuje dane wyjściowe jako znaki ASCII; na przykład wartość 99 byłaby reprezentowana jako c.
Wyjaśnienie:
źródło
Gallina , 38 bajtów
źródło
dc, 14 znaków
Liczby należy podawać w osobnych wierszach.
Przykładowy przebieg:
Wypróbuj online!
źródło
Brachylog ,
1816 bajtówWypróbuj online!
-2 dzięki Fatalize .
źródło
∧5⟦₁↺b;?z×ᵐġ₃+ᵐ-
jest 2 bajtów mniej,,, 12 bajtów
Wyjaśnienie
Weźmy na przykład dane wejściowe 4, 3, 2, 1.
źródło
Cubix , 36 bajtów
Wypróbuj online!
Watch It Run
Dość liniowy program, który kilkakrotnie się nawraca. Podstawowe kroki:
I3*r;U;
zdobądź pierwsze wejście, pomnóż przez 3 i oczyść stosI4*/r\
uzyskaj następny wpis i pomnóż przez 4. Obróć wynik w dół.Iw5*Ur;w<;r;;W
zdobądź następny wkład, pomnóż przez 5 i oczyść stosI-r;w;
pobierz ostatnie wejście, odejmij od wyniku par 5 i oczyść stos/+p+O\@
dodaj do wyniku par 4, przenieś wynik par3 na górę dodaj, wyjdź i zatrzymajźródło
HP-15C (RPN), 14 bajtów
Kody szesnastkowe instrukcji:
Wersja do odczytu:
Cztery liczby są ładowane do stosu w kolejności przed uruchomieniem programu.
źródło
Excel VBA, 20 bajtów
Anonymous VBE funkcja natychmiastowego okno które ma wejście z zakresu
[A3:A6]
których[A3:A5]
reprezentują liczbę3
,4
a5
par otworów, odpowiednio i[A6]
przedstawia trudności. Dane wyjściowe do bezpośredniego okna VBEPowyżej jest skróconą wersją połączenia
Gdzie
"=3*A3+4*A4+5*A5-A6"
podano, że jest to formuła anonimowej komórki, jak wskazano w[...]
opakowaniu, i?
jest przestarzałą wersjąPrint
wywołania z niejawnymDebug.
kontekstemWięcej zabawy Wersja, 34 bajtów
Anonimowa funkcja bezpośredniego okna VBE z tymi samymi warunkami wejścia / wyjścia jak powyżej.
Powyżej jest skróconą wersją połączenia
Gdzie
"=SUMPRODUCT(A3:A5,ROW(A3:A5))"
podano, że jest to formuła anonimowej komórki, jak wskazano w[...]
otoku, i?
jest przestarzałą wersjąPrint
wywołania z niejawnymDebug.
kontekstem. W tej wersji zakres[A3:A5]
i numery wierszy tego zakresu (ROWS(A3:A5)
) są przekazywane jako tabliceWersja Excel, 18 bajtów
Oczywiście powyższe wersje nadają się w ten sposób do doskonalenia wersji
i
źródło
R ,
2523 bajtówWypróbuj online!
źródło
sum(scan()*3:5)-scan()
jest nieco mniejszyscan
gdy istnieje wiele takich danych wejściowych, ale cóż, wiesz!Befunge , 15 bajtów
Wypróbuj online!
źródło
Japt , 12 bajtów
Sprawdź to
źródło
Braingolf , 14 bajtów
Wypróbuj online!
źródło
05AB1E , 7 bajtów
Wypróbuj online!
źródło
3L
zeā
jako pierwsze wejście będzie lista długości 3 i tak.