Postagem na caixa de areia (excluída)
As antigas formações do exército romano são muito famosas em todo o mundo. Nessas formações, os legionários romanos agrupados em uma forma geométrica (geralmente um retângulo) protegiam os flancos e a parte superior usando seus escudos. Os legionários em posições interiores cobriam a parte superior colocando seu escudo acima de suas cabeças, os legionários nos flancos carregavam 2 ou mais escudos: um para proteger a parte superior e um ou mais escudos para proteger os flancos (se alguém estivesse no canto ele tinha 3 escudos; se alguém estava sozinho em uma formação, ele tinha 5 escudos. Sim, eu sei que é impossível para um humano carregar 5 escudos, mas de alguma forma eles conseguiram ). Usando essa formação, todos os legionários romanos se protegeram e eram o adversário mais difícil da época.
A história conta que havia um general romano que afirmou que a melhor forma de formação era o quadrado (o mesmo número de legionários em linhas e colunas). O problema era descobrir quantas formações (e o tamanho) ele deveria dividir seu exército para:
- Não deixe nenhum legionário fora de uma formação (embora ele tenha admitido uma formação legionária única)
- Reduza a quantidade de escudos necessários
O general, depois de fazer algumas contas e cálculos, descobriu que a melhor maneira de cumprir essas 2 condições é começar com o maior quadrado possível e depois repetir até que não sobrem legionários .
Exemplo:
Se 35 legionários em seu exército, a formação consistia em
- Um quadrado de legionários 5x5 (este é o maior quadrado possível).
Com os legionários restantes (10)
- Um quadrado 3x3
Com os legionários restantes (1)
- Um quadrado 1x1.
No final, será algo parecido com isto:
5x5
* * * * * 3x3
* * * * * * * * 1x1
* * * * * * * * *
* * * * * * * *
* * * * *
Os legionários em posições interiores cobriam a parte superior, colocando o escudo acima da cabeça . Eles só precisavam de 1 escudo.
* * * * *
* 1 1 1 * * * *
* 1 1 1 * * 1 * *
* 1 1 1 * * * *
* * * * *
Os legionários nos flancos levavam 2
* 2 2 2 *
2 1 1 1 2 * 2 *
2 1 1 1 2 2 1 2 *
2 1 1 1 2 * 2 *
* 2 2 2 *
Se alguém estava no canto, ele tinha 3 escudos
3 2 2 2 3
2 1 1 1 2 3 2 3
2 1 1 1 2 2 1 2 *
2 1 1 1 2 3 2 3
3 2 2 2 3
Se alguém estava sozinho em uma formação, ele tinha 5 escudos
3 2 2 2 3
2 1 1 1 2 3 2 3
2 1 1 1 2 2 1 2 5
2 1 1 1 2 3 2 3
3 2 2 2 3
Essa formação exigiu um total de 71 escudos.
Desafio
- Calcular a quantidade de escudos necessários para uma quantidade X de legionários
Entrada
- Quantidade de legionários no exército
Saída
- Quantidade de escudos necessários.
Casos de teste
35 => 71
20 => 44
10 => 26
32 => 72
- Aplicam-se regras de código-golfe padrão
Amazon.com : Best-selling Nipple Shield Carrying Case, Perfect...
então acho que nunca vou realmente saber. Eles realmente carregavam 5 escudos-- ou era para fazer a pergunta funcionar: P?