Au golf, le scratch standard d'un parcours est calculé à l'aide de cette formule:
(3*num_of_3_par_holes + 4*num_of_4_par_holes + 5*num_of_5_par_holes) - difficulty_rating
Votre tâche consiste à calculer le scratch standard d'un parcours de golf, compte tenu de ces 4 entrées.
Vous devez prendre la saisie sous n'importe quelle forme standard dans le format
[num_of_3_pars, num_of_4_pars, num_of_5_pars], difficulty rating
mais si cela permet d'économiser des octets, vous êtes nombreux à prendre les entrées d'une manière différente.
Vous devez sortir le résultat final par n'importe quelle méthode acceptée sur les méta, comme le retour d'une fonction.
Le code le plus court gagne parce que c'est du code-golf !
Réponses:
Scratch, 145 octets
-2 grâce à boboquack
- ??? parce que l'écrire en Oto est plus court qu'en anglais
(Parce que Scratch est le scratch standard.)
Voici un exemple d'exécution:
.
la source
Gelée , 6 octets
Essayez-le en ligne!
Comment ça fonctionne
la source
Java (OpenJDK 8) , 24 octets
Essayez-le en ligne!
la source
Haskell , 22 octets
Essayez-le en ligne! Utilisation:
(3#2)5 7
rendements35
.Ce format d'entrée pas si agréable est un octet plus court que la solution simple:
Format d'entrée sans point et agréable: (23 octets)
Essayez-le en ligne! Liez à
f
et appelez avecf [3,2,5] 7
.la source
Mathematica, 13
14octetsMerci à @GregMartin. Prenez l'entrée comme une liste de longueur 4.
la source
{3,4,5,-1}.#&
(13 octets).Python 3 , 28 octets
Essayez-le en ligne!
la source
Javascript, 24 octets
la source
Perl6, 16 caractères
(Ouais, c'est un sous.)
Exemple d'exécution:
Essayez-le en ligne!
la source
Julia 0,5 , 15 octets
Essayez-le en ligne!
la source
⋅
trois octets, ou est-ce que je fais une erreur de calcul? Serait-.*
ce une amélioration? modifier: Peu importe - manqué la partie de sommation..*
effectue uniquement une multiplication par élément; cela ne prend pas la somme des produits.C #, 24 octets
la source
Code machine x86-64, 14 octets
Une fonction suivant la convention d'appel System V AMD64 (omniprésente sur les systèmes Gnu / Linux) qui prend quatre paramètres entiers:
EDI
= num_of_3_par_holesESI
= num_of_4_par_holesEDX
= num_of_5_par_holesECX
= difficulté_évaluationIl renvoie une seule valeur, le scratch standard, dans le
EAX
registre.Mnémoniques d'assemblage non golfés:
Juste une simple traduction de la formule. Ce qui est intéressant, c'est qu'il s'agit essentiellement du même code que celui que vous écririez lors de l'optimisation de la vitesse . Cela montre vraiment la puissance de l'x86
LEA
instruction, qui est conçu pour l OAD un e EFFICACES un DRESSE, mais peut faire plus et mise à l' échelle (multiplication par de faibles puissances de 2) en une seule instruction, ce qui en fait un puissant multi-usages bête de somme arithmétique .la source
Gelée ,
107 octetsEssayez-le en ligne!
-3 octets grâce à Erik The Outgolfer!
Comment ça fonctionne!
la source
[]
mais vous pouvez l'utiliser pour jouer3r5×⁸S_
au golf davantage (3r5
->[3, 4, 5]
,⁸
= l'argument de gauche pour le différencier duS
,×
est commutatif).Octave , 14 octets
Essayez-le en ligne!
Environ deux fois plus longtemps que la réponse MATL . Au départ, j'ai littéralement porté cela sur MATL, mais il s'est avéré que c'était
iY*
plus long que juste*s
. Notez que l'entréea
, contenant les trous dans l'ordre puis la difficulté, doit être un vecteur de colonne.la source
@(a)[3:5 -1]*a
. L'entrée est un vecteur colonne de[3 holes; 4 holes; 5holes; difficulty]
Julia , 21 octets
Essayez-le en ligne!
la source
Neim , 7 octets
Explication:
Programme alternatif:
3𝐈ᛖ𝕋𝐬S𝕊
Au lieu de pousser
345
puis d'obtenir les caractères, crée le tableau en[1 2 3]
utilisant3𝐈
, puis ajoute 2 à chaque élément avecᛖ
.Essayez-le en ligne!
la source
This commit was pushed 8 days before the answer was posted.
vous n'avez pas vraiment besoin de ça.C (gcc) , 30 octets
Essayez-le en ligne!
la source
a
.Swift 3 ,
2519 octetsJ'ai réalisé que vous n'en avez pas besoin
var f=
, car vous pouvez l'appeler comme un lambda Python:Testez-le en ligne!
Utilisation:,
{$0*3+$1*4+$2*5-$3}(a,b,c,d)
oùa,b,c,d
sont les paramètres.la source
brainfuck , 39 octets
Essayez-le en ligne!
Prend l'entrée et imprime la sortie sous forme de caractères ASCII; par exemple, la valeur 99 serait représentée comme c.
Explication:
la source
Gallina , 38 octets
la source
dc, 14 caractères
Les numéros doivent être transmis sur des lignes distinctes.
Exemple d'exécution:
Essayez-le en ligne!
la source
Brachylog ,
1816 octetsEssayez-le en ligne!
-2 grâce à Fatalize .
la source
∧5⟦₁↺b;?z×ᵐġ₃+ᵐ-
est 2 octets de moins,,,, 12 octets
Explication
Prenez l'entrée 4, 3, 2, 1 par exemple.
la source
Cubix , 36 octets
Essayez-le en ligne!
Regardez-le courir
Un programme assez linéaire qui revient sur lui-même plusieurs fois. Étapes de base:
I3*r;U;
obtenir la première entrée, multiplier par 3 et nettoyer la pileI4*/r\
obtenir la prochaine entrée et multiplier par 4. Faire pivoter le résultat vers le bas.Iw5*Ur;w<;r;;W
obtenir la prochaine entrée, multiplier par 5 et nettoyer la pileI-r;w;
obtenir la dernière entrée, soustraire du résultat du par 5 et nettoyer la pile/+p+O\@
ajouter au résultat du par 4, amener le résultat du par3 en haut ajouter, sortir et arrêterla source
HP-15C (RPN), 14 octets
Codes hexadécimaux d'instruction:
Version lisible:
Les quatre numéros sont chargés dans la pile dans l'ordre avant d'exécuter le programme.
la source
Excel VBA, 20 octets
Anonyme VBE La fonction de fenêtre immédiate qui accepte une entrée de la gamme
[A3:A6]
qui[A3:A5]
représentent le nombre de3
,4
et5
trous par, respectivement , et[A6]
représente la difficulté. Sorties vers la fenêtre immédiate VBECe qui précède est une version condensée de l'appel
Où
"=3*A3+4*A4+5*A5-A6"
est donnée pour être la formule d'une cellule anonyme, comme indiqué par l'[...]
encapsuleur, et?
est la version obsolète de l'Print
appel avec unDebug.
contexte impliciteVersion plus amusante, 34 octets
Fonction de fenêtre immédiate VBE anonyme avec les mêmes conditions d'E / S que ci-dessus.
Ce qui précède est une version condensée de l'appel
Où
"=SUMPRODUCT(A3:A5,ROW(A3:A5))"
est donné la formule d'une cellule anonyme, comme indiqué par l'[...]
encapsuleur, et?
est la version obsolète de l'Print
appel avec unDebug.
contexte implicite . Dans cette version, la plage de[A3:A5]
et les numéros de ligne de cette plage (ROWS(A3:A5)
) sont passés sous forme de tableauxVersion Excel, 18 octets
Bien sûr, les versions ci-dessus se prêtent ainsi à exceller les versions de
et
la source
R ,
2523 octetsEssayez-le en ligne!
la source
sum(scan()*3:5)-scan()
est légèrement plus petitscan
lorsqu'il y a plusieurs entrées comme celle-ci, mais whaddya le sait!Befunge , 15 octets
Essayez-le en ligne!
la source
Japt , 12 octets
Essaye-le
la source
Braingolf , 14 octets
Essayez-le en ligne!
la source
05AB1E , 7 octets
Essayez-le en ligne!
la source
3L
parā
car la première entrée sera une liste de longueur 3 de toute façon.