Especificações
Dado um número n
, produza uma "seta de meme" ASCII (símbolo maior que >
) , de tamanho n
.
n
sempre será um número inteiro positivo, maior que 0.
Exemplos
n = 2
\
\
/
/
n = 5
\
\
\
\
\
/
/
/
/
/
Código de amostra
Aqui está um programa de amostra, escrito em Crystal, que retorna os resultados corretos. Execute-o como ./arrow 10
.
arrow.cr
:
def f(i)
i.times { |j|
j.times { print ' ' }
puts "\\"
}
i.times { |j|
(i-j-1).times { print ' ' }
puts '/'
}
end
f(ARGV[0].to_i)
Regras
- Isso é código-golfe . A resposta mais curta vence. No entanto, não selecionarei uma resposta, porque a resposta mais curta pode mudar com o tempo.
- As brechas padrão não são permitidas.
n
ser zero?Respostas:
Tela , 2 bytes
Experimente aqui!
fonte
C (gcc) , 56 bytes
Experimente online!
fonte
Python 2 , 54 bytes
Experimente online!
Saídas com uma nova linha à direita.
fonte
05AB1E , 6 bytes
Experimente online!
Explicação
fonte
C # (compilador interativo do Visual C #) , 66 bytes
Guardou um byte graças a @someone.
Experimente online!
fonte
n*2-b-1
->n*2+~b
C64Mini / C64 BASIC (e outras variantes do CBM BASIC), 52 bytes BASIC tokenizados usados
Aqui está a versão não ofuscada para exaplantion:
Qualquer número inserido
N
na linha zero é reduzido em um, pois oTAB
comando é indexado a zero; OsFOR/NEXT
loops nas linhas de dois a quatro e de cinco a sete saem da parte superior e inferior se ameme
seta respectivamente (representada por uma fonte deslocadaM
e deslocadaN
no modo gráfico )fonte
for
pode serfO
(f
- shofto
),print
é?
, etc.0inputn:n=n-1:fOi=0ton:?tA(i)"\":nE:fOi=0ton:?tA(i)"/":nE
- são necessários 57 bytes.Ruby ,
11199777368645756 bytes-12 bytes graças a Benjamin Urquhart , -43 graças a manatwork e -2 bytes graças a Value Ink .
Experimente online!
Explicação:
Soluções alternativas (mas mais longas)
Um amigo leu essa resposta e tentou criar mais algumas abordagens. Colocá-los aqui também, para que não se percam nas vastas interwebs.
injetar e não mudar, 72 bytes
Experimente online!
downto, injetar e não mudar, 80 bytes
Experimente online!
intrigante, dois loops não aninhados, 127 bytes
Experimente online!
fonte
String#rjust
( Experimente on-line! ).Perl 5
-p
, 36 bytesExperimente online!
fonte
Código T-SQL, 80 bytes
Experimente online
Consulta T-SQL, 96 bytes
Para fazer este trabalho online, tive que fazer algumas pequenas alterações. Os espaços no início de uma linha não são exibidos no snippet online. Então, eu estou usando ascii 160 em vez disso. Ao executar no Management Studio, é possível alterar as configurações para mostrar o resultado como texto, o que resultaria nos espaços corretos neste script publicado.
Experimente online
fonte
PowerShell ,
4441 bytesExperimente online!
fonte
MarioLANG ,
719677 bytesExperimente online!
Isso foi mais difícil do que o esperado ...
fonte
brainfuck , 125 bytes
Experimente online!
fonte
Carvão , 5 bytes
Experimente online! Link é a versão detalhada do código. Explicação:
Insira um número e imprima uma linha diagonal de
\
s desse comprimento.Reflita a linha verticalmente.
fonte
APL (NARS), 40 caracteres, 80 bytes
teste:
fonte
Retina 0.8.2 , 32 bytes
Experimente online!Explicação:
Gere duas linhas de
n
espaços.Transforme a linha superior em um
\
diagonal.Transforme a linha inferior em uma
/
diagonal.fonte
C (gcc) ,
6765 bytes-2 bytes graças ao ceilingcat
Experimente online!
fonte
Python 2 ,
8584818075 bytesExperimente online!
fonte
PowerShell , 50 bytes
Experimente online!
Irá procurar fazê-lo para que ele só passe pelo intervalo uma vez. Nada mal para o método sem cérebro.
fonte
Galho, 115 bytes
Constrói a string para trás, "retornando" no final.
Usa uma macro para gerar todos os resultados.
Essa macro deve estar em um arquivo e importada assim:
Você pode experimentá-lo em https://twigfiddle.com/5hzlpz (clique em "Mostrar resultado bruto").
fonte
Haskell ,
5249 bytes-3 bytes graças ao Sriotchilism O'Zaic .
Experimente online!
fonte
g$n-1
vez deg(n-1)
. Você também não precisa contar o valor,f=
poisf
nunca é referenciado.MATL,
141312 bytes1 Byte salvo graças a @LuisMendo
Explicação
Experimente no MATL Online
fonte
Python 3 ,
9083 bytesExperimente online!
-7 bytes graças a @squid
fonte
Rockstar, 133 bytes
Experimente online aqui !
Como a Rockstar não é famosa por operações com strings, é necessário muito código para fazê-lo (recursivamente, foi ainda mais longo).
O tamanho da seta é considerado como entrada.
fonte
PHP ,
7963.61 bytesExperimente online!
Recursivo em PHP.
-12 bytes por @manatwork
fonte
\ / \ /> , 74 bytes
Explicação: (linhas giradas com base no ponto inicial)
fonte
\/\/> (pronounced wɜrm)
Obrigado, eu odeio isso. (jk, eu estou ansioso para dar-lhe uma tentativa)Python 3 , 55 bytes
Experimente online!
fonte
Python 2 , 63 bytes
Experimente online!
fonte
Stax , 10 bytes
Execute e depure
fonte
SimpleTemplate , 100 bytes
Este foi um desafio bastante divertido, mas alguns erros no idioma dificultaram a otimização.
Basicamente, percorre os valores para trás, trabalhando a corda do meio para fora.
Como deve ser a resposta
Devido aos erros, o código não estava sendo interpretado corretamente.
É assim que o código seria, se o compilador não tivesse nenhum erro (86 bytes):
Bem, pelo menos a solução funciona: x
fonte
JavaScript (Node.js) , 42 bytes (se uma nova linha à direita for permitida)
Experimente online!
JavaScript (Node.js) ,
4846 bytesExperimente online!
fonte