Introdução
Escreva um programa para produzir a espiral de saída do famoso pangram seguindo as regras dadas.
Desafio
Um pangram é uma frase que usa todas as letras de um determinado alfabeto pelo menos uma vez. Um dos mais famosos pangramas é o amplamente utilizado no visualizador de fontes do Windows, a saber " A rápida raposa marrom pula sobre o cachorro preguiçoso ". O desafio é gerar uma espiral com base neste texto.
Sua tarefa gera este texto exato:
heeeeellllllllllllazzzzzzzzzzz
hummmmmmmmmmmmmppppppppppppppy
hubrrrrrrrrrrrrrrrrrrooooooosy
hukyddddoooooooooooooooggggwsy
hukyveeeeerrrrrrrrrrrrrrrrtwsy
hukyvxjjjjjjjjjjuuuuuuuuuttwsy
hukyvxkbbrrrrrrrrrrrrrrrmttwsy
hukyvxkogggggggttttttttomttwsy
tukyvokoellllllllllllahomttwsy
tukyvokoeovvvvvvvvvvvzhomttwsy
tukyvocoeoummmmmmmmmezhomttwsy
tukyvocoeoufooooooopezhomttwsy
tukyvocohoufroooooxpezhomttwsy
tukyvoiohoufrquuuwxpezhomttwsy
tucyvoiohoufbqttiwxpezhomttwsy
tucyvoiohoufbeehiwxprzhomttwsy
tucyvoiohoufkccciwxprzeomttwsy
tjiyvoidhounnnnnnwxprzeomttwsy
tjiyvoidhojjjjjjjjxprzeomttwsy
tjiyvoidhssssssssssprzeopttwsy
tjiyvoidttttttttttttrzeopttwsy
tjiyvoiyyyyyyyyyyyyyyzqopttwoy
tjiyvouuuuuuuuuuuuuuuuqwpttwoy
tjiyvffffnnnnnnnnnnnnnnwpttwoy
tjiyossssssssssssssssssspthwoy
tjizzzzalllllllllllleeeeehhwoy
tjuuqqqqqqqqqqqqqqqqqeeeeehnod
txxxxxoooooooooooooooffffffnod
reeeeevvvvvvvvvvvvvvvvvvvvvvod
gggggggoooooooooooooood
Aqui está como é gerado,
- Havia uma raposa zelosa que gostou do pangram "A raposa marrom rápida salta sobre o cachorro preguiçoso". Um dia ele estava no centro de uma espiral externa e decidiu pular nela e pintar.
- Ele gostaria de examinar o pangram do começo ao fim e, se uma letra for a n-ésima letra do alfabeto, ele gostaria de pintá-lo várias vezes.
- No entanto, a raposa não era muito boa em fazer curvas nas esquinas; portanto, ao chegar a cada esquina, ele também teve que parar e passar para a próxima letra.
- Ele também decidiu repetir o pangram três vezes para enfatizar que ele é a raposa marrom rápida.
- Seu trabalho é mostrar como seria a espiral depois que a raposa pintasse todas essas letras.
(Versão simples sem contar histórias)
O famoso pangram "A rápida raposa marrom pula sobre o cachorro preguiçoso" é repetido três vezes, com os espaços removidos e todas as letras em minúsculas, para gerar
thequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydog
A espiral começa no centro e começa com a letra "t", começa indo para a direita e vai para fora no sentido horário. Se o caractere atual for a n-ésima letra do alfabeto, ele passará para o próximo caractere sempre que
- a espiral atinge um canto, ou
- as letras atuais são impressas exatamente n vezes.
Para melhor ilustrá-lo, explicarei como é gerada a espiral relacionada às três primeiras palavras "thequickbrown".
rooooo
rquuuw
bqttiw
beehiw
kccciw
nnnnnnw
A raposa parte de "t", vira à direita, alcança o 1º canto, pinta com o "t" e depois muda para "h" e desce, atinge o 2º canto, alterna para "e" e vai para a esquerda, atinge a A 3ª esquina muda para "q" e sobe, alcança a 4ª esquina, muda para "u" e vira para a direita, alcança uma esquina e muda para "i", desce, alcança uma esquina e muda para "c", continua esquerda, pinta com sucesso 3 "c" s antes de chegar à próxima esquina , muda para "k" e segue para a esquerda , alcança um canto imediatamente, muda para "b" e sobe, pinta 2 "b" s antes de chegar na próxima esquina, muda para "r"e continua para cima , chega a um canto e muda para "o", vai para a direita e depois para "w", para baixo, "n", para a esquerda.
Especificações
Você pode usar uma entrada opcional que contenha qualquer forma padrão da sequência
thequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydog
Sua saída deve ser formatada como uma sequência e deve ir para STDOUT em vez de arquivos ou STDERR, com as novas linhas colocadas corretamente. Dirigir e seguir linhas vazias não importam. Os espaços de cabeçalho e final em cada linha são permitidos, mas precisam ser consistentes. Portanto, se você adicionar 5 espaços antes de uma linha do texto fornecido, precisará adicionar exatamente 5 espaços antes de cada linha para que a espiral pareça a mesma.
Isso é código-golfe , o menor número de bytes vence.
Como de costume, as brechas padrão se aplicam aqui.
As explicações são bem-vindas, embora não sejam necessárias.
Título editado para torná-lo um pangram por comentário por caird coinheringaahing.
O cachorro preguiçoso é muito preguiçoso para aparecer na história.
Meu objetivo é criar um desafio de cadeia de caracteres em que a letra para saída não possa ser calculada por funções simples das coordenadas.