Espiral de números primos
Crie uma função que receba um número e uma direção de rotação como argumento e retorne uma espiral de números primos.
Dados n e uma direção, no sentido horário cw ou anti-horário ccw, retorne uma única string multilinha contendo uma matriz n*n de números primos. O elemento nas coordenadas (0, 0) será o ponto de partida e, com base na direção de rotação informada, cada elemento seguinte será o próximo número primo, em uma sequência crescente, percorrendo sempre a matriz em forma de espiral.
Exemplos
spiral(1, "cw") ➞ "Impossible to obtain a list of primes."
spiral(2, "cw") ➞
["2", "3"]
["7", "5"]
spiral(3, "cw") ➞
["02", "03", "05"]
["19", "23", "07"]
["17", "13", "11"]
spiral(3, "cw") ➞
["02", "03", "05"]
["19", "23", "07"]
["17", "13", "11"]
spiral(4, "cw") ➞
["02", "03", "05", "07"]
["37", "41", "43", "11"]
["31", "53", "47", "13"]
["29", "23", "19", "17"]
spiral(4, "ccw") ➞
["02", "37", "31", "29"]
["03", "41", "53", "23"]
["05", "43", "47", "19"]
["07", "11", "13", "17"]Observações
- Adicione zeros à esquerda quando necessário para garantir que todos os elementos da matriz tenham o mesmo comprimento.
- Coloque cada linha da matriz em uma linha separada na string retornada. Consulte os testes para ver o formato exato.