Um simples:
Pegue um número inteiro positivo n menor que 1000 e produza os números inteiros de 1 para n intercalados com os números inteiros de n para 1 . Você deve concatenar os números para que eles apareçam sem delimitadores entre eles.
Casos de teste:
n = 1
11
n = 4
14233241
n = 26
12622532442352262172081991810171116121513141413151216111710189198207216225234243252261
n = 100
110029939849759669579489399210911190128913881487158616851784188319822081218022792378247725762675277428732972307131703269336834673566366537643863396240614160425943584457455646554754485349525051515052495348544755465645574458435942604161406239633864376536663567346833693270317130722973287427752676257724782379228021812082198318841785168615871488138912901191109299389479569659749839921001
Esse é o código-golfe, de modo que o menor envio em bytes em cada idioma vence. As explicações são incentivadas.
f'{x}{n-~-x}'
lambda n:''.join('x+1'+'n-x'for x in range(n))
para 46 bytes. (substitua a'
compreensão na lista por`\`x+1\``
renderiza para`x+1`
-5 graças a Ørjan Johansen
Haskell , 33 bytes
Experimente online!
fonte
do
expressão é mais curta que>>=
mais uma lambda. (2) No entanto, osshow
s podem ser combinados usando>>=show
.Bash , 25 bytes
Experimente online!
Imprime seqüência decrescente, linhas numéricas aumentam e printf une linhas
Espaço delimitado, 20 bytes: seq $ 1 -1 1 | nl | xargsfonte
seq $1 -1 1|nl|tr -d ' \n\t'
8 bytes maistime 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 bytes
Experimente online
rbind(1:n,n:1)
cria uma matriz de 2 linhas com 1 a n na primeira linha e n a 1 na segunda. Acat
função recolhe esta matriz, lendo cada coluna.fonte
n
na linha de comando (em vez de passar via stdin).05AB1E ,
65 bytesSalva um byte usando o novo interleave interno, como sugerido por rev
Experimente online!
Explicação
fonte
LÂ.ιJ
.CJam , 10 bytes
Experimente online!
Explicação
fonte
Ruby , 29 bytes
Explicação:
Experimente online!
fonte
Espaço em branco , 71 bytes
Experimente online!
Explicação
As duas primeiras instruções são necessárias para configurar a pilha corretamente, os comandos de entrada do Whitespace gravam na pilha, portanto, precisamos copiar b (o valor de entrada) de volta na pilha. Começamos com a = 0, pois é mais curto declarar 0 em vez de 1 (salva um byte) e precisamos apenas reordenar a instrução de incremento para lidar. Depois disso, fazemos um loop e incrementamos a, produzimos a, produzimos a, diminuímos b, até que b atinja 0 (verificado após o decremento).
fonte
Haskell,
654847 bytes1 byte economizado graças a Laikoni:
6 bytes salvos graças a nimi:
Resposta e explicação anteriores:
Já existe uma resposta melhor de Haskell aqui, mas eu sou novo no Haskell e no código de golfe, por isso posso postá-lo :)
Esta função fecha a lista [1..n] com seu reverso, resultando em uma lista de tuplas.
Em seguida, ele usa
concatMap
para mapear um lambda para esta lista de tuplas que resulta em uma lista de listas ...... e concatena.
Em seguida, um final
concatMap
mapeiashow
a lista e concatena-a em uma única sequência.f 26 "12622532442352262172081991810171116121513141413151216111710189198207216225234243252261"
fonte
=<<
é a mesma (dentro da lista mônade) comoconcatMap
:f n=show=<<(\(l,r)->[l,r])=<<zip[1..n][n,n-1..1]
.n
em[1..n]
: Experimente online!Pitão, 7 bytes
Experimente online: Demonstração
Explicação:
fonte
Oitava, 29 bytes
Experimente online!
fonte
Perl 6 , 20 bytes
Teste-o
Com uma entrada de 100000, isso leva aproximadamente 10 segundos, incluindo a compilação e a impressão da saída.
Expandido:
As
Z~
necessidades são~
porque, caso contrário, gera uma lista de listas que serão stringify com espaços.There is no need to limit the Range starting at 1, because
Z
stops when any of the input lists run out.This saves two bytes (a space would be needed after
$_
)fonte
Java 61 bytes
fonte
(int n)->{//for loop}
should work here.System.out.print()
na última instrução do loop for, mas fica complicado porque você está usandoi
duas vezes (e precisa incrementá-lo na expressão).Gelatina , 5 bytes
Experimente online!
Como funciona
fonte
Röda,
2119 bytesTry it online!
This is an anonymous function that takes input from the stream.
Explanation
fonte
Clojure, 61 bytes
Literally does what is asked. I believe it can be outgolfed by a less trivial solution.
See it online
fonte
Aceto,
2522 bytesExplanation:
We read an integer and put it on two stacks.
On one, we call range_up (
Z
), on the other range_down (z
), then we set a catch mark to be able to return to this place later:We then check if the current stack is empty and exit if so:
Otherwise, we print from both stacks and jump back to the catch mark:
fonte
R, 41 bytes
pryr::f()
creates a function that takes one input. Loops over1:x
and prints each element of1:x
along with each element ofx:1
. Prints to STDOUT.fonte
pryr
function(x)
:)Brachylog,
109 bytesTry it online!
Explanation
fonte
MATL,
13119 bytes2 bytes saved thanks to @Luis
Try it at MATL Online
Explanation
fonte
PHP,
363529 bytesSaved one byte thanks to Jörg Hülsermann.
Saved six bytes thanks to Christoph.
fonte
for(;$argn;)echo++$i,$argn--;
?Scala, 43 bytes
It's not the best but it's my first code golf.
fonte
V, 20 bytes
Try it online!
Explain:
fonte
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.fonte
K (ngn/k), 16 bytes
Try it online!
fonte
r,'|r:
->+|:\
MathGolf, 5 bytes
Try it online!
Explanation:
fonte
╒{ïí,
,╒{ï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!
fonte
Mouse-2002,
3230 bytes-2 moved conditional to start of loop
(z.^ ... )
instead of(... z.0>^)
Try it online!
Explanation:
fonte
Actually, 9 bytes
Try it online!, or run all test cases
Explanation:
fonte