Os halteres na minha academia ficam assim:
=========[]-----------------------[]=========
Eles podem conter placas de cinco tamanhos diferentes, 2,5 libras, cinco libras, dez libras, 25 libras e 45 libras:
.
. ! |
. ! | | |
| | | | |
' ! | | |
' ! |
'
Por segurança, também adicionamos um clipe ]
ou [
na parte externa de todos os nossos pratos, se houver algum. A barra em si pesa 45 libras. Sempre colocamos as placas mais pesadas mais próximas do centro, sem espaços entre as placas, e colocamos placas idênticas nos dois lados. Também sempre usamos o número mínimo de placas possível, por exemplo, nunca usamos duas placas de cinco libras de um lado em vez de uma única placa de dez libras. Então, se eu quiser levantar 215 libras, meu bar fica assim:
. .
.!| |!.
!||| |||!
====]||||[]-----------------------[]||||[====
!||| |||!
'!| |!'
' '
Seu código, uma função ou programa completo, deve levar um número inteiro de 45 a 575, sempre um múltiplo de 5, e gerar a barra que adiciona esse peso. Por exemplo:
Entrada: 45
Saída (observe que não há clipes em uma barra vazia):
=========[]-----------------------[]=========
Entrada: 100
Resultado:
! !
.| |.
======]||[]-----------------------[]||[======
'| |'
! !
Entrada: 575
Resultado:
..... .....
.!||||| |||||!.
!||||||| |||||||!
]||||||||[]-----------------------[]||||||||[
!||||||| |||||||!
'!||||| |||||!'
''''' '''''
Você pode ter espaços à direita em cada linha ou não, mas sua saída não pode ter linhas vazias à esquerda ou à direita (a saída para 45 deve ser uma linha, para 50 deve ser três linhas, para 65 deve ser cinco linhas e assim por diante).
Este é o código de golfe, o código mais curto vence!
print
?