Étant donné deux entiers, A et B, la sortie A si AB (A moins B) est dans AB (A à B), sinon la sortie B.
"A moins B" est une soustraction standard.
"A à B" est la plage d'entiers commençant par A et se terminant par B, incluant A et B. Par exemple:
1 to 4: 1, 2, 3, 4
-2 to 5: -2, -1, 0, 1, 2, 3, 4, 5
3 to -1: 3, 2, 1, 0, -1
7 to 7: 7
Le code le plus court en octets gagne.
Cas de test
A B Output
1 4 4
-2 5 5
3 -1 -1
7 7 7
90 30 90
90 -30 -30
-90 30 30
-90 -30 -90
-2 -2 -2
-2 -1 -2
-2 0 -2
-2 1 1
-2 2 2
-1 -2 -2
-1 -1 -1
-1 0 -1
-1 1 1
-1 2 2
0 -2 -2
0 -1 -1
0 0 0
0 1 1
0 2 2
1 -2 -2
1 -1 -1
1 0 1
1 1 1
1 2 2
2 -2 -2
2 -1 -1
2 0 2
2 1 2
2 2 2
la source
PHP, 58 octets
la source
$b
affectation n'a pas besoin de parenthèses.JavaScript (ES6), 24 octets
Cas de test
la source
Python 2, 37 octets
Invoquer comme
f(B, A)
.la source
Python2,
555251 octetsEssayez-le en ligne!
Gère tous les cas de test mentionnés par OP (au moment de la publication), comme le suggère le TIO.
la source
JavaScript ES6,
4037 octetsA expliqué:
3 octets sauvés grâce à Arnauld.
la source
Mathematica, 16 octets
Fonction pure prenant deux arguments dans l'ordre inverse de l'OP (par exemple,
If[2#^2>1##,##]&[B,A]
). Un portage de la réponse Python de xnor .la source
R,
493028 octetsUtilise la logique de @ xnor pour déterminer si ab est dans a: b.
la source
pryr::f(match(a-b,a:b,b))
Clojure,
7141 octets-30 octets en utilisant
<=
etmin
/max
au lieu derange
s.Vérifie si se
(a - b)
situe dans la plage dea
àb
, envoie un retour en conséquence.la source
PHP (7.1), 55 octets
utilise la nouvelle syntaxe de déstructuration du tableau:
Exécuter avec
-r
, fournir des nombres comme arguments de ligne de commande.la source
PowerShell ,
373532 octetsEssayez-le en ligne!
Traduction littérale du problème dans PowerShell à l'aide de l'
-notin
opérateur. Trois octets enregistrés en utilisant plusieurs affectations et encapsulations. Cela fonctionne parce que la priorité des opérateurs-
est supérieure à celle de l'opérateur-notin
et que la( )
partie du code est d'abord exécutée et renvoyée sous forme de tableau@($a,$b)
. Cependant, puisque c'est$a,$b
plutôt que$b,$a
, nous devons utiliser-notin
pour retourner / afficher le résultat en sortie.la source
Lot, 107 octets
la source
Pyth - 9 octets
J'espérais utiliser plus d'entrées implicites ... :(
Essayez-le en ligne ici .
la source
Röda , 30 octets
Essayez-le en ligne!
Il utilise la formule utilisée dans la réponse de xnor.
Une autre solution (37 octets):
Essayez-le en ligne!
la source
> <> , 21 octets
Utilise le truc de @ xnor . Nous utilisons
-v B A
pour pré-remplir la pile. (-v A B
est +1 octet).Essayez-le en ligne!
Explication
la source
Ruby ,
2722 octetsEssayez-le en ligne!
Rien d'innovant ici. Le calcul simple derrière cela:
peut être écrit comme
c'est-à-dire que si A-2B a le même signe que B, nous sommes dans la plage.
la source
SpecBAS - 38 bits
IIF
est un inline-IF-THEN-ELSE, pour imprimer la valeur correcte.la source
Haskell, 21 octets
Essayez-le en ligne!
Lisible
Explication
Utilise la formule de @ xnor pour vérifier si ab est dans la plage. Rien de spécial à part ça.
la source
Haskell, 58 octets
Tout récemment, je suis tombé à nouveau amoureux des flèches. Malheureusement, ils exigent que nous utilisions des n-uplets au lieu de fonctions binaires. Et bien sûr, Haskell n'a pas de
range
fonction symétrique .la source
PHP 7 - 45 octets
la source
Octave, 55bytes
Cela pourrait probablement être optimisé davantage. Je vais ajouter une explication plus tard.
la source
Nim, 60 octets
Essayez-le en ligne!
Assez standard dans la mesure où les réponses vont, pas de gros trucs dans celui-ci.
la source
Swift -
383022 octetsSauvegardé 8 octets grâce à @Matt
Essayez-le chez IBM Swift Sandbox en ligne!
Ou 21 octets:
(grâce à la formule de @xnor ) et enregistré 8 octets grâce à @Matt
Swift n'est pas la meilleure langue pour le golf (c'est très rigide), donc si vous voyez une autre opportunité de golf, je modifierai totalement la réponse.
la source
Java 7,
846058 octetsJava 8, 37 octets
Explication:
Code de test: essayez-le ici.
la source
Ti-Basic (TI-84 Plus CE),
26 2423 octetsTI-Basic est un langage à jeton. tous les jetons utilisés sont des jetons d'un octet .
Prompt
vous invite à entrer les deux chiffres.A-B≥A and A-B≤B
vérifie si AB est compris entre A et B (inclus); cela retourne un 1 si vrai et un zéro si faux, qui est stocké àAns
.Puisque nous retournons A si AB est compris entre A et B, nous multiplions A par Ans, qui sera A si nous sommes supposés renvoyer A et 0 sinon.
Ensuite, nous ajoutons
Bnot(Ans
à cela. Si Ans était égal à 1 (vérité), nous l’not(
obtenons à 0, notre somme est donc A. Si Ans à 0 (falsie), nous l’not(
obtenons pour obtenir 1, que nous multiplions par B et que nous ajoutons à 0 pour obtenir B.La dernière évaluation dans TI-Basic est implicitement renvoyée.
-2 octets grâce à Scott Milner
la source
Y
et en utilisant uniquementAns
dans la quatrième ligne.Pyt , 32 octets
Prend A et B de stdin comme deux entrées séparées
Explication:
AABB -> ABBA -> ABABB -> ABBBA -> ABBBAA -> ABABABB -> ABABBA -> ABABC -> ABCAB -> ABC [A, ..., B] -> ABD -> ABDD - > ADDB -> ADBD -> AD {B * (1-D)} -> {B * (1-D)} AD -> {B * (1-D)} + {A * D}
où: C = BA et D = C∈ [A, ..., B] (1 si vrai, 0 si faux)
la source
Ohm , 10 octets (CP437)
Il y a probablement une manière plus golfeuse de faire cela, mais la nature strictement typée de Ruby rend cela difficile.
la source
Perl 6 ,
31 2924 octetsL'essayer
L'essayer
L'essayer
la source