Tivemos um grande desafio de fatoração há um tempo atrás, mas esse desafio tem quase seis anos e mal atende aos nossos requisitos atuais, então acredito que está na hora de um novo.
Desafio
Escreva um programa ou função que tome como entrada um número inteiro maior que 1 e produza ou retorne uma lista de seus fatores primos.
Regras
- A entrada e a saída podem ser fornecidas por qualquer método padrão e em qualquer formato padrão.
- Fatores duplicados devem ser incluídos na saída.
- A saída pode estar em qualquer ordem.
- A entrada não será menor que 2 ou maior que 2 31 - 1.
- Os internos são permitidos, mas é recomendável incluir uma solução não interna.
Casos de teste
2 -> 2
3 -> 3
4 -> 2, 2
6 -> 2, 3
8 -> 2, 2, 2
12 -> 2, 2, 3
255 -> 3, 5, 17
256 -> 2, 2, 2, 2, 2, 2, 2, 2
1001 -> 7, 11, 13
223092870 -> 2, 3, 5, 7, 11, 13, 17, 19, 23
2147483646 -> 2, 3, 3, 7, 11, 31, 151, 331
2147483647 -> 2147483647
Pontuação
Isso é código-golfe , então o código mais curto em bytes vence.