“×Ɗ¡‘ŒP»Ṫ¦209ṗ€3Fd⁴ịØHs3ṢQY
Experimente online!
Como funciona
“×Ɗ¡‘
forneça os pontos de código dos caracteres entre as aspas no SBCS de Jelly , que são 0x11 = 17 , 0x91 = 145 e 0x00 = 0 .
ŒP
constrói o conjunto de potências da matriz de pontos de código, produzindo
[[], [17], [145], [0], [17, 145], [17, 0], [145, 0], [17, 145, 0]]
As duas últimas entradas correspondem a combinações que contêm 80 e FF , portanto, temos que descartá-las.
»Ṫ¦209
consiste em três partes:
Ṫ
(cauda) remove a última matriz de pontos de código, ou seja, [17, 145, 0] .
»209
pega o máximo de cada número inteiro no restante do conjunto de potência e 0xD1 = 209 , substituindo todos por 209 .
¦
(esparso) itera sobre os elementos do restante do conjunto de potência. Se o índice correspondente for encontrado em [17, 145, 0] , o elemento será substituído por todos os 209 's. Caso contrário, ele permanece intocado.
¦
não é modular, portanto, modifica apenas a última matriz (índice 0 ) no restante do conjunto de potência. Os índices 17 e 145 são muito grandes e não têm efeito.
O resultado é o seguinte.
[[], [17], [145], [0], [17, 145], [17, 0], [209, 209]]
ṗ€3
calcula a terceira potência cartesiana de cada matriz, ou seja, a matriz de todas as 3 tuplas de elementos de cada matriz.
Fd⁴
nivela o resultado e calcula o quociente e o restante de cada número inteiro dividido por 16 .
ịØH
índices (com base em 1) em "0123456789ABCDEF , para que 0x11 , 0x91 , 0x00 e 0xD1 sejam mapeados para " 00 " , " 80 " , " FF " e " C0 " (resp.).
s3ṢQ
divide os pares de caracteres em três tuplas, classifica as tuplas e deduplica.
Por fim, Y
une as tuplas exclusivas, separando por feeds de linha.
“0FC8”
, como nós temos00
,FF
,C0
, e80
.