Introdução
Como exemplo, vamos pegar o número 7
. Em seguida, duplicamos isso e colocamos 7 espaços no meio. Temos isso:
7_______7
Depois disso, vamos diminuir o número, até que não haja mais espaços. Temos o seguinte para o número 7:
7_______7
6543210
Em seguida, apenas mesclamos os dois, portanto:
7_______7
6543210 becomes
765432107
Isso produzirá saída para N = 7 .
Parece fácil, certo? Agora vamos pegar N = 12 . Novamente inserimos 12 espaços entre os dois números, o que nos dá:
12____________12
Então começamos o decremento:
12____________12
111098765432
E isso finalmente nos dá:
1211109876543212
Como você pode ver, a parte descendente termina em 2, não em 0 .
Tarefa
Dado um número inteiro maior que 1 , imprima a sequência descendente como mostrado acima.
Casos de teste
Input Output
2 2102
3 32103
4 432104
5 5432105
6 65432106
7 765432107
8 8765432108
9 98765432109
10 10987654321010
11 111098765432111
12 1211109876543212
13 13121110987654313
14 141312111098765414
15 1514131211109876515
20 201918171615141312111020
99 9998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150499
100 1009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150100
Isso é código-golfe , então a submissão com o menor número de bytes vence!
Respostas:
CJam,
1110 bytesExperimente online. Supõe que há uma nova linha à direita na entrada. (Obrigado a @ jimmy23013 por salvar um byte.)
Explicação
No final de cada linha está a aparência da pilha nesse ponto (usando
4
como exemplo).fonte
Julia, 30 bytes
Esta é uma função anônima que aceita um número inteiro e retorna uma string. Para chamá-lo, atribua-o a uma variável.
Construímos e juntamos a sequência descendente de n -1 a 0 e pegamos os primeiros n caracteres da sequência resultante. Anexamos e anexamos isso com a entrada como uma string.
Verifique todos os casos de teste online
fonte
Haskell, 44 bytes
Exemplo de uso:
f 14
->"141312111098765414"
.fonte
JavaScript (ES6),
5552 bytesEditar: salvou 3 bytes graças a @WashingtonGuedes.
fonte
.keys()
..keys()
é como.reduce
. A ferramenta certa para o trabalho, mas você sempre encontrar algo que pode fazer melhor, nesse caso específicoPython 2,
82725853 bytesExperimente aqui!
Agradeço ao @Alex por me ensinar isso
repr(x)
=`x`
economizando um monte de bytes!fonte
Pitão, 11 bytes
Duas versões alternativas, todas com 11 bytes ( suspiro ):
Experimente aqui.
fonte
Japonês, 13 bytes
Teste online!
Como funciona
fonte
Gelatina, 10 bytes
Experimente online!
Como funciona
fonte
Retina , 98
110Resposta mais longa até agora: - /
Experimente online.
fonte
Vitsy, 35 bytes
Como Vitsy não está ciente de como fazer seqüências de caracteres com números, eu implementei encontrando o comprimento do número em casas decimais na segunda linha.
Explicação:
Experimente Online!
Modo detalhado para risos:
fonte
L
, corrigindo isso agora (embora não atualize a pergunta).public static void
métodos. O principal termina o programa quando terminar. Quanto a como isso é feito, as instruções são mantidas em um tipoArrayList<ArrayList<String[]>>
, onde cada linha é aString[]
. Cada método é dividido na nova linha de acordo com a forma como o arquivo é carregado, fazendo com que o método principal seja separado de todos os outros métodos.String
s são instruções,String[]
s são métodos (o primeiro é o método principal) eArrayList<String[]>
s são classes (o primeiro é a classe principal), correto?Pure Bash, 49
Ou:
Bash + coreutils, 48
fonte
12
, os primeiros 12 caracteres de11..0
(ou111098765432
) e, finalmente,12
Retina, 63 bytes
Ainda há bastante espaço para jogar golfe ...
Experimente online!
fonte
$0
in$0$*
opcional também, quando o token anterior é um literal que não é um número (como o seuy
s) ... vendo isso, eu realmente posso implementar isso.MATL , 15 bytes
EDIT (20 de maio de 2016) O código no link usa
Xz
vez deXv
, devido a alterações recentes no idioma.Experimente online!
fonte
Java, 93 bytes
fonte
Ruby, 41 bytes
fonte
Via Láctea 1.6.5 ,
2725 bytesExplicação
Uso
fonte
I'::%{K£BCH=}<OHG<+<;+!
em um arquivo codificado em UTF-8, mas não funciona.Perl 6 , 31 bytes
Uso:
fonte
Perl, 43 + 2 = 45 bytes
Estou feliz por não ter usado
reverse
e nemsubstr
:Requer as
-pl
bandeiras.Como funciona:
fonte
C,
130125 bytesVersão não destruída (com explicação):
A conversão implicitamente de double para int in
h=floor(...)
permitiu o uso de#define p(x)
salvar 5 bytes.Teste em ideona.
fonte
R, 67 bytes (como função)
R, 63 bytes (entrada de STDIN)
fonte
Brainfuck, 265 bytes
Isso só funciona com números <10
Experimente a versão golfada aqui :
Ungolfed. Experimente aqui :
fonte
,>>++++++[<++++++++>-]<[-<->]<
Isso pode subtrair 48 com comprimento de código mais curto