Un simple:
Prendre un entier positif n inférieur à 1000 et sortir les entiers de 1 à n entrelacés avec les entiers de n à 1 . Vous devez concaténer les nombres afin qu’ils apparaissent sans aucun séparateur entre eux.
Cas de test:
n = 1
11
n = 4
14233241
n = 26
12622532442352262172081991810171116121513141413151216111710189198207216225234243252261
n = 100
110029939849759669579489399210911190128913881487158616851784188319822081218022792378247725762675277428732972307131703269336834673566366537643863396240614160425943584457455646554754485349525051515052495348544755465645574458435942604161406239633864376536663567346833693270317130722973287427752676257724782379228021812082198318841785168615871488138912901191109299389479569659749839921001
C’est du code-golf, donc la soumission la plus courte en octets dans chaque langue est gagnante. Les explications sont encouragées.
f'{x}{n-~-x}'
lambda n:''.join('x+1'+'n-x'for x in range(n))
pour 46 octets (remplace le'
dans la compréhension de la liste par des backticks)`\`x+1\``
rend à`x+1`
-5 grâce à Ørjan Johansen
Haskell , 33 octets
Essayez-le en ligne!
la source
do
expression est plus courte que>>=
plus un lambda. (2) Cependant, lesshow
s peuvent être combinés en utilisant>>=show
.Bash , 25 octets
Essayez-le en ligne!
Imprime une séquence décroissante, augmente le nombre de lignes et printf joint les lignes
Espace délimité, 20 octets: seq $ 1 -1 1 | nl | xargsla source
seq $1 -1 1|nl|tr -d ' \n\t'
8 octets de plustime printf %s'seq 1000000 -1 1|nl'; grep name /proc/cpuinfo
real 0m7.985s user 0m6.092s sys 0m0.392s model name : Intel(R) Pentium(R) D CPU 3.00GHz model name : Intel(R) Pentium(R) D CPU 3.00GHz
R, 35 octets
Essayez-le en ligne
rbind(1:n,n:1)
crée une matrice à 2 lignes avec 1 à n dans la première ligne et n à 1 dans la seconde. Lacat
fonction réduit cette matrice en lisant chaque colonne.la source
n
sur la ligne de commande (au lieu de passer par stdin).05AB1E ,
65 octetsEnregistré un octet en utilisant le nouvel entrelacement intégré comme suggéré par rev
Essayez-le en ligne!
Explication
la source
LÂ.ιJ
.CJam , 10 octets
Essayez-le en ligne!
Explication
la source
Ruby , 29 octets
Explication:
Essayez-le en ligne!
la source
Espaces blancs , 71 octets
Essayez-le en ligne!
Explication
Les deux premières instructions sont nécessaires pour configurer correctement la pile, les commandes d'entrée de Whitespace écrivant dans le tas, nous devons donc copier b (la valeur d'entrée) dans la pile. Nous commençons avec a = 0 car il est plus court de déclarer 0 au lieu de 1 (enregistre un octet) et il suffit de réordonner l'instruction d'incrémentation pour y faire face. Après cela, on boucle et incrémente a, sortie a, sortie b, décrémente b, jusqu'à ce que b atteigne 0 (vérifié après le décrément).
la source
Haskell,
654847 octets1 octet économisé grâce à Laikoni:
6 octets sauvés grâce à nimi:
Réponse précédente et explication:
Il y a déjà une meilleure réponse Haskell ici, mais je suis novice en Haskell et en code-golf, alors je peux aussi bien le poster :)
Cette fonction ferme la liste [1..n] avec son verso, ce qui donne une liste de n-uplets.
Ensuite, il utilise
concatMap
pour mapper un lambda à cette liste de tuples qui résulte en une liste de listes ...... et le concatène.
Ensuite, une dernière
concatMap
carte mappeshow
à la liste et la concatène en une seule chaîne.f 26 "12622532442352262172081991810171116121513141413151216111710189198207216225234243252261"
la source
=<<
est le même (dans la liste monade) queconcatMap
:f n=show=<<(\(l,r)->[l,r])=<<zip[1..n][n,n-1..1]
.n
dans[1..n]
: Essayez-le en ligne!Pyth, 7 octets
Essayez-le en ligne: démonstration
Explication:
la source
Octave, 29 octets
Essayez-le en ligne!
la source
Perl 6 , 20 octets
Essaye-le
Avec une entrée de 100 000, cela prend environ 10 secondes, compilation et impression de la sortie comprises.
Étendu:
le
Z~
nécessite le~
parce que sinon, il génère une liste de listes qui seront stigmatisées avec des espaces.Il n'est pas nécessaire de limiter la plage à partir de 1, car
Z
s'arrête lorsque l'une des listes d'entrées est vide.Cela économise deux octets (un espace sera nécessaire après
$_
)la source
Java 61 octets
la source
(int n)->{//for loop}
devriez travailler ici.System.out.print()
dans la dernière déclaration de la boucle for, mais cela se complique parce que vous utilisezi
deux fois (et vous devez l'incrémenter dans l'expression).Gelée , 5 octets
Essayez-le en ligne!
Comment ça marche
la source
Röda ,
2119 octetsEssayez-le en ligne!
C'est une fonction anonyme qui prend une entrée du flux.
Explication
la source
Clojure, 61 octets
Fait littéralement ce qui est demandé. Je crois que cela peut être évité par une solution moins triviale.
Voir en ligne
la source
Aceto ,
2522 octetsExplication:
Nous lisons un entier et le mettons sur deux piles.
Sur l'un, nous appelons range_up (
Z
), sur l'autre, range_down (z
), puis nous définissons un repère pour pouvoir revenir à cet endroit plus tard:Nous vérifions ensuite si la pile actuelle est vide et quittons si c'est le cas:
Sinon, nous imprimons à partir des deux piles et retournons à la cible:
la source
R, 41 octets
pryr::f()
crée une fonction qui prend une entrée. Boucle dessus1:x
et imprime chaque élément de1:x
avec chaque élément dex:1
. Imprime sur STDOUT.la source
pryr
function(x)
:)Brachylog ,
10 à9 octetsEssayez-le en ligne!
Explication
la source
MATL,
13119 octets2 octets sauvegardés grâce à @Luis
Essayez-le sur MATL Online
Explication
la source
PHP,
363529 octetsUn octet enregistré grâce à Jörg Hülsermann.
Sauvé six octets grâce à Christoph.
la source
for(;$argn;)echo++$i,$argn--;
?Scala, 43 octets
Ce n'est pas le meilleur mais c'est mon premier code golf.
la source
V, 20 bytes
Try it online!
Explain:
la source
Cubix, 17 bytes
Try it online!
cubified:
Pushes
1
, reads in the input (I
), then enters the loop which swaps the top of the stack, outputs it, increments, swaps, outputs the top of the stack, decrements, and stops if the top of the stack is 0.la source
K (ngn/k), 16 bytes
Try it online!
la source
r,'|r:
->+|:\
MathGolf, 5 bytes
Try it online!
Explanation:
la source
╒{ïí,
,╒{ïk,
,╒{íï-
,╒{kï-
,╒{┐í,
,╒{┐k,
,╒x{î\
,{îïí,
,{îïk,
,{îíï-
,{îkï-
,{î┐í,
,{î┐k,
. However, I have not been able to find any program of length 4 or less. I haven't done a full search, but it is very probable that 5 bytes is optimal for MathGolf.Common Lisp,
6354 bytesTry it online!
la source
Mouse-2002,
3230 bytes-2 moved conditional to start of loop
(z.^ ... )
instead of(... z.0>^)
Try it online!
Explanation:
la source
Actually, 9 bytes
Try it online!, or run all test cases
Explanation:
la source