No golfe, o risco padrão de um curso é calculado usando esta fórmula:
(3*num_of_3_par_holes + 4*num_of_4_par_holes + 5*num_of_5_par_holes) - difficulty_rating
Sua tarefa é calcular o risco padrão de um campo de golfe, considerando essas 4 entradas.
Você deve receber entrada de qualquer forma padrão no formato
[num_of_3_pars, num_of_4_pars, num_of_5_pars], difficulty rating
mas se ele salvar bytes, você recebe a entrada de uma maneira diferente.
Você deve produzir o resultado final por qualquer método aceito na meta, como retornar de uma função.
O código mais curto vence porque esse é o código-golfe !
Respostas:
Zero, 145 bytes
-2 graças a boboquack
- ??? porque escrevê-lo em Oto é mais curto que o inglês
(Porque o zero é o risco padrão.)
Aqui está uma amostra de execução:
.
fonte
Gelatina , 6 bytes
Experimente online!
Como funciona
fonte
Java (OpenJDK 8) , 24 bytes
Experimente online!
fonte
Haskell , 22 bytes
Experimente online! Uso:
(3#2)5 7
rendimentos35
.Esse formato de entrada não tão agradável é um byte menor que a solução direta:
Formato de entrada sem ponto e agradável: (23 bytes)
Experimente online! Se ligam a
f
e call comf [3,2,5] 7
.fonte
Mathematica, 13
14bytesGraças a @GregMartin. Tome a entrada como uma lista de tamanho 4.
fonte
{3,4,5,-1}.#&
(13 bytes).Python 3 , 28 bytes
Experimente online!
fonte
Javascript, 24 bytes
fonte
Perl6, 16 caracteres
(Sim, isso é um sub.)
Exemplo de execução:
Experimente online!
fonte
Julia 0,5 , 15 bytes
Experimente online!
fonte
⋅
três bytes ou estou contando incorretamente? Seria.*
uma melhoria? editar: Não importa - perdeu a parte da soma..*
somente realiza multiplicação por elementos; não leva a soma dos produtos.C #, 24 bytes
fonte
Código da máquina x86-64, 14 bytes
Uma função que segue a convenção de chamada do System V AMD64 (onipresente nos sistemas Gnu / Linux) que utiliza quatro parâmetros inteiros:
EDI
= num_of_3_par_holesESI
= num_of_4_par_holesEDX
= num_of_5_par_holesECX
= dificuldade_ratingEle retorna um único valor, o rascunho padrão, no
EAX
registro.Mnemônicos de montagem não destruídos:
Apenas uma tradução simples da fórmula. O interessante é que este é essencialmente o mesmo código que você escreveria ao otimizar a velocidade também. Isso realmente mostra o poder da do x86
LEA
instrução, que é projetado para l OAD um e FICAZ um ddress, mas pode fazer disso e escamação (multiplicação por baixas potências de 2) em uma única instrução, tornando-se um poderoso multi-purpose laborioso aritmética .fonte
Geléia ,
107 bytesExperimente online!
-3 bytes graças a Erik The Outgolfer!
Como funciona!
fonte
[]
mas você pode usar isso3r5×⁸S_
para jogar mais (3r5
->[3, 4, 5]
,⁸
= argumento esquerdo para diferenciá-lo deS
,×
é comutativo).Oitava , 14 bytes
Experimente online!
Cerca do dobro do tempo que a resposta MATL . Inicialmente, eu literalmente portado isso para MATL, mas acabou que
iY*
é mais do que apenas*s
. Observe que a entradaa
, contendo os furos em ordem e depois a dificuldade, deve ser um vetor de coluna.fonte
@(a)[3:5 -1]*a
. Entrada é um vetor coluna de[3 holes; 4 holes; 5holes; difficulty]
Julia , 21 bytes
Experimente online!
fonte
Neim , 7 bytes
Explicação:
Programa alternativo:
3𝐈ᛖ𝕋𝐬S𝕊
Em vez de pressionar
345
e obter os caracteres, cria a matriz[1 2 3]
usando3𝐈
e adiciona 2 a cada elemento comᛖ
.Experimente online!
fonte
This commit was pushed 8 days before the answer was posted.
bem, você realmente não precisa disso.C (gcc) , 30 bytes
Experimente online!
fonte
a
.Swift 3 ,
2519 bytesPercebi que você não precisa do
var f=
, porque você pode chamá-lo como um lambda Python:Teste online!
Uso:,
{$0*3+$1*4+$2*5-$3}(a,b,c,d)
ondea,b,c,d
estão os parâmetros.fonte
brainfuck , 39 bytes
Experimente online!
Recebe e imprime a saída como caracteres ASCII; por exemplo, o valor 99 seria representado como c.
Explicação:
fonte
Gallina , 38 bytes
fonte
dc, 14 caracteres
Os números precisam ser passados em linhas separadas.
Exemplo de execução:
Experimente online!
fonte
Braquilog ,
1816 bytesExperimente online!
-2 graças a Fatalize .
fonte
∧5⟦₁↺b;?z×ᵐġ₃+ᵐ-
tem 2 bytes a menos,,, 12 bytes
Explicação
Veja as entradas 4, 3, 2, 1, por exemplo.
fonte
Cubix , 36 bytes
Experimente online!
Assista
Um programa bastante linear que volta a si próprio algumas vezes. Etapas básicas:
I3*r;U;
obtenha a primeira entrada, multiplique por 3 e limpe a pilhaI4*/r\
obtenha a próxima entrada e multiplique por 4. Gire o resultado para baixo.Iw5*Ur;w<;r;;W
obtenha a próxima entrada, multiplique por 5 e limpe a pilhaI-r;w;
obter a última entrada, subtrair do resultado do par 5 e limpar a pilha/+p+O\@
adicionar ao resultado do par 4, trazer o resultado do par3 para o topo adicionar, produzir e pararfonte
HP-15C (RPN), 14 bytes
Códigos hexadecimais da instrução:
Versão legível:
Os quatro números são carregados na pilha em ordem antes de executar o programa.
fonte
Excel VBA, 20 bytes
Anonymous VBE funo de janela de imediato que recebe a entrada a partir do intervalo
[A3:A6]
dos quais[A3:A5]
representam o número de3
,4
e5
buracos par, respectivamente, e[A6]
representa a dificuldade. Saídas para a janela imediata do VBEA descrição acima é uma versão condensada da chamada
Onde
"=3*A3+4*A4+5*A5-A6"
é atribuída a fórmula de uma célula anônima, conforme indicado pelo[...]
wrapper, e?
é a versão descontinuada daPrint
chamada com um implícitoDebug.
por contextoVersão mais divertida, 34 bytes
Função de janela imediata VBE anônima com as mesmas condições de E / S acima.
A descrição acima é uma versão condensada da chamada
Onde
"=SUMPRODUCT(A3:A5,ROW(A3:A5))"
é atribuída a fórmula de uma célula anônima, conforme indicado pelo[...]
wrapper, e?
é a versão reprovada daPrint
chamada com um implícitoDebug.
por contexto. Nesta versão, o intervalo[A3:A5]
e os números de linha desse intervalo (ROWS(A3:A5)
) são passados como matrizesVersão Excel, 18 bytes
Obviamente, as versões acima se prestam assim a versões do Excel
e
fonte
R ,
2523 bytesExperimente online!
fonte
sum(scan()*3:5)-scan()
é um pouco menorscan
quando existem várias entradas como essa, mas o que sabemos!Anterior , 15 bytes
Experimente online!
fonte
Japonês , 12 bytes
Teste-o
fonte
Braingolf , 14 bytes
Experimente online!
fonte
05AB1E , 7 bytes
Experimente online!
fonte
3L
por,ā
pois a primeira entrada será uma lista de comprimento 3 de qualquer maneira.