Escreva um programa que tenha como entrada uma sequência composta por caracteres imprimíveis (ASCII 20-7E) e um número inteiro n
em [2,16] e execute a seguinte modificação na sequência.
- Cada caractere na string é convertido em seu código ASCII (os exemplos dados são em hexadecimal, embora a base 10 também seja aceitável).
- Os códigos ASCII são convertidos em base
n
e são concatenados juntos. - A nova string é dividida em todos os outros caracteres. Se houver um número ímpar de caracteres, o último caractere será removido completamente.
- Os códigos ASCII de impressão (na base 16) são convertidos novamente em seus caracteres, enquanto os códigos ASCII que não são de impressão são removidos.
- A sequência resultante é impressa.
Caso de teste
Entrada
Hello, World!
6
Passos
Hello, World!
48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21
2002453003003031125222330331030024453
20 02 45 30 03 00 30 31 12 52 22 33 03 31 03 00 24 45
A saída deste programa é E001R"31$E
.
Isso é código de golfe, então as regras padrão se aplicam. O menor código em bytes vence.
7
, a sequência J
passaria pelas etapas J
-> 50
-> 101
-> 10
-> (no output)
, assim como a sequência K
ou L
.
H
é ASCII 72 (decimal) ou 48 (hex), mas o que eu preciso é de 200 (base 6). Toda a linha 2 no exemplo é inútil e confuso na minha opinião