Agradecemos a FryAmTheEggman pela ideia para esta segunda versão.
Versão 1 aqui .
Desafio não tão simples: dado um número de cartas, construa o maior castelo de cartas possível com esse número, de acordo com a seguinte ordem de construção:
/\ /\ /\ /\/\
-- -- -- ---- ----
/\ → /\/\ → /\/\ → /\/\ → /\/\/\ → /\/\/\ → /\/\/\ →
/\ /\
-- -- --
/\/\ /\/\ /\/\
---- ---- ----
→ /\/\/\ → /\/\/\ → /\/\/\/\ → ...
Então, você começa com uma casa de um andar, constrói o grupo adjacente, coloca a placa da ponte, constrói o grupo no segundo andar, começa a construir grupos e pontes do primeiro andar na diagonal para alcançar o terceiro andar, e assim em.
Um único cartão será representado com a /
, a \
ou a --
. Se, depois de usar o maior número possível de cartões, você tiver apenas um, basta imprimir o que você realizou até o momento (veja o exemplo de 3 cartões, o resultado é o mesmo que para 2 cartões). A única exceção é o caso de 1 cartão, que deve gerar um cartão plano.
Exemplos:
Input: 1
Output:
-- <a card lying on the floor>
Input: 2
Output:
/\
Input: 3
Output:
/\
Input: 5
Output:
--
/\/\
Input: 10
Output:
/\
----
/\/\/\
Input: 20
Output:
/\
--
/\/\/\
------
/\/\/\/\
Input: 39
Output:
--
/\/\
----
/\/\/\
------
/\/\/\/\
--------
/\/\/\/\/\
Input: 40
Output:
/\
--
/\/\
----
/\/\/\
------
/\/\/\/\
--------
/\/\/\/\/\
A entrada pode ser numérica ou uma sequência e sempre será um número inteiro positivo. A saída deve ser exatamente como mostrada, com espaços à esquerda e à direita e novas linhas permitidas.
Isso é código-golfe , portanto, pode ganhar o programa / função mais curto para cada idioma!