Gelatina , 13 caracteres significativos, desafio pós-datas de idiomas
R µ ọḊ *@Ḋ ċ >2 µ Ðf
Experimente online!
Todo espaço em branco aqui é insignificante. Usei-o para mostrar a estrutura da minha resposta, como a pergunta.
Veja como funciona:
R µ ọḊ *@Ḋ ċ >2 µ Ðf
R Ðf Find all numbers n from 1 to the input, such that:
µ µ (grouping marks, like {} in C)
Ḋ Ḋ Take the range from 2 to n
ọ Find the number of times each divides n
*@ Raise the range from 2 to n to these powers
ċ Count the number of times n appears
>2 and the result must be greater than 2
Por exemplo, ao testar n = 256, verificamos o número de vezes que cada um dos números de 2 a 256 se divide em 256. Os únicos números que se dividem mais de uma vez são 2 (que divide 8 vezes), 4 (que divide 4 vezes), 8 (que divide duas vezes) e 16 (que divide duas vezes). Portanto, quando aumentamos o número de divisões para os poderes determinados lá, obtemos:
2⁸, 3, 4⁴, 5, 6, 7, 8², 9, 10, 11, 12, 13, 14, 15, 16², 17, ..., 255, 256
Isso produz o valor original, 256, um número de vezes igual ao modo como 256 é uma potência perfeita, mais uma (o último elemento produz 256 porque 256 = 256¹). Portanto, se vemos 256 mais do que duas vezes na matriz (e vemos neste caso; 8² é 64, mas todos os outros elementos "interessantes" produzem 256), deve ser uma potência perfeita.