"Le prix Nobel de mathématiques a été attribué à un professeur californien qui a découvert un nouveau numéro! Le numéro est gonflé, ce qui, dit-il, appartient aux années 6 à 7." - George Carlin
Dans ce défi, vous imprimerez tous les nombres entiers, inclus, dans la plage de saisie donnée. Imprimer les nombres en ordre croissant ou décroissant en fonction de leur ordre de saisie. C'est-à-dire que, pour la saisie [n1, n2]
, affiche ascendant si n1 < n2
, décroissant si n1 > n2
.
Puisque bleen
est maintenant un nombre entier, il peut être utilisé comme entrée. Il doit également être inclus dans la sortie, entre 6
et le 7
cas échéant. Notez également qu'il -bleen
existe entre -7 et -6.
Contribution
Deux nombres entiers [n1, n2]
dans la plage [-10, 10], inclus, via l'entrée de votre choix du langage de programmation.
(L'entrée peut aussi contenir bleen
et -bleen
!)
Sortie
Imprimer tous les entiers commençant par n1
et se terminant par n2
, y compris les nouveaux découverts bleen
entre 6 et 7. La sortie peut consister en une plage de nombres séparés par des caractères, sous une forme que votre langue prend en charge, c'est-à-dire par des virgules ou des espaces. Un espace de sortie final est acceptable.
Exemples
Input: 1 10
Output: 1 2 3 4 5 6 bleen 7 8 9 10
Input: -9 -4
Output: -9 -8 -7 -bleen -6 -5 -4
Input: -8 bleen
Output: -8 -7 -bleen -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 bleen
Input: 9 1
Output: 9 8 7 bleen 6 5 4 3 2 1
Input: 2 -bleen
Output: 2 1 0 -1 -2 -3 -4 -5 -6 -bleen
Input: -bleen 0
Output: -bleen -6 -5 -4 -3 -2 -1 0
Input: bleen bleen
Output: bleen
Input: 2 2
Output: 2
Notes complémentaires
Vous pouvez écrire un programme ou une fonction et utiliser n’importe quelle méthode standard pour recevoir des entrées et fournir des sorties.
Vous pouvez utiliser n’importe quel langage de programmation , mais les échappatoires standard ne sont pas autorisées.
C'est du code-golf , donc la réponse valide la plus courte - mesurée en octets - est gagnante.
Réponses:
Python 3,
132130 octetsPrend les entrées dans le format d'exemple suivant:
la source
[-10,10]
?bleen=7/m
pour la désincarcération sans pénalitéeval
traduitbleen
dans la valeur correcte.Ruby,
11410098 octetsL'entrée est un tableau avec
[n1, n2]
. (S'il doit y avoir deux arguments distincts, 1 octet pour changer la fonction arg deg
la*g
. Bleen doit être une chaîne,"bleen"
. Sorties d' un tableau de la gamme. Suggérée par @Jordan avec ses (?) Accorder la version initiale -7 octets, mais j'ai aussi joué au golf 7 autres après cela.Essayez-le en ligne.
Version complète du programme original qui lit les entrées de
ARGV
:la source
.map &:to_s
et économiser 6 octets. Vous pouvez en économiser un en modifiant l’initialisation dea
ena=*-10..10;a[4,0]=?-+b;a[18,0]=b
.->*g{b='bleen';a=*-10..10;a[4,0]=?-+b;a[18,0]=b;x,y=g.map{|v|a.index v};puts y<x ?a[y..x].reverse: a[x..y]}
Pyth , 35 octets
Suite de tests.
La première partie, c’est
K++L\-P_J++`M7"bleen"`M}7TJ
-à- dire , génère ce tableau:puis stocke dans
K
.La deuxième partie, c'est-à-dire
@LK}FxLK
, trouve la sous-liste indiquée par l'entrée.la source
Python 3,
157145123108115 115139161158153 octets22 sauvé grâce à Lynn. 17 sauvé grâce à shooqie. 3 sauvé grâce à ljeabmreosn. 5 sauvé grâce à Geoff Reedy.
Entrée comme
'-10', '8'
. Les pourboires sont les bienvenus pour un débutant.Ajout de 7 pour tenir compte de
-bleen
. Ajout de 15 pour tenir compte des entrées inversées, comme'8','-10'
. Ajout d' un grand 21 pour tenir compte des signes d'entrée inversée pourbleen
vs-bleen
.la source
l.index('-6')
etl.index('7')
devrait juste être des constantes, non?l=[str(i)for i in range(-10,11)]
->l=list(map(str,range(-10,11)))
l=list(range(-10,11))
fonctionne aussi bienfor i in(4,18):l.insert(i,'bleen')
.'bleen'
plutôt qu'un'-bleen','bleen'
Ruby, 141 octets
Ungolfed
la source
Lot,
239186 octetsFonctionne en boucle de
3*%1
à3*%3
, puis en divisant par trois et en imprimant les nombres sans reste, mais définirbleen
ce nombre magique provoque un dépassement d'entier et la valeur20
est utilisée à la place. Ceci est ensuite imprimé au point approprié dans la boucle.la source
-bleen
aussi. Bah.bleen.bat bleen -bleen
peut-être?JavaScript (ES6), 158
Beau défi, difficile à jouer au golf. Les méthodes de plage utilisées dans les réponses Python et Ruby pourraient probablement obtenir de meilleurs résultats, même dans JS.
Moins joué au golf
Tester
la source
Swift 2.2, 342 octets
Testez ceci en utilisant le Swift Sandbox d'IBM
Ungolfed
la source
Java, 271 octets
Ungolfed with cas de test:
Appelez b (début, fin). Les paramètres étant des chaînes, leur conversion en ints prend beaucoup de place. Pour l’essentiel, le programme considère que 7 & -7 sont ventilés.
la source
p
peut être modifiée à ce qui suit pour sauver 6 octets:int p(String w){int x=w.length(),i;if(x>3)return x<6?7:-7;i=Integer.decode(w);return i<-6?i-1:i>6?i+1:i;}
. En outre, vous pouvez indiquer qu'il s'agit de Java 7 et peut-être ajouter une idée .Java 7, 251 octets
Une approche différente, plus courte que la réponse Java 7 existante .
En outre, il est regrettable que les paramètres ne soient potentiellement pas en ordre, ce qui ajoute des octets pour les échanger.
Ungolfed & cas de test:
Essayez ici.
Sortie:
la source
Scala, 223 octets
la source
JavaScript (ES6), 178 octets
L'essayer
EDIT: Correctif pour la commande inversée. Merci Patrick, a raté cette condition
la source
Python 3, 126 octets
L'entrée est sous la forme
-5, 'bleen'
la source
R ,
110107 octetsMerci à Cyoce d'avoir joué au golf 3 octets.
Construit toute la liste dans l’ordre, choisit les plus pertinentes. Une fonction au milieu nommée "b" semblait être le moyen le plus simple d'y parvenir. Appliquer, etc
la source
Javascript (en utilisant une bibliothèque externe) (343 octets)
Lien vers lib: https://github.com/mvegh1/Enumerable
Capture d'écran:
la source
Python 2, 100 octets
Les quatre premières lignes génèrent la liste
[-10, -9, -8, -7, 'bleen', -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 'bleen', 7, 8, 9, 10]
. La ligne suivante est saisie et stockée danss
ete
. Les deux dernières lignes utilisent la.index()
notation de découpage en liste pour obtenir la plage correcte.Fonctionne de la même manière que la réponse de Leaky Nun mais s'est développée indépendamment. Volé une méthode de saisie de orlp.
Ungolfed:
la source
-7
et-6
est-bleen
, pasbleen
. Bien que nous ayons trouvé un nouveau nombre, les règles de base de l’algèbre doivent rester constantes:0
c’est le seul nombre qui possède son propre inverse additif, du fait qu’il est l’élément identité additif. En outre,eval(input())
c'est justeinput()
en Python 2.