Todos nós já fizemos isso, bem, talvez não, mas criar sua própria linguagem alienígena e sistema de numeração é um grampo especialmente da escrita de fantasia, mas é principalmente uma atividade divertida.
A tarefa é simples, use duas entradas:
Uma entrada de lista ordenada de 10 [dez] 'numerais' exclusivos (qualquer caractere ASCII imprimível) e os interpreta, em ordem, como os valores 0, 1, 2, 3, ..., 9
+ Há exceções no que pode ser um numeral aqui. Operadores aritméticos (+, -, *, /), parênteses e espaços não podem ser usados como um dos números.
Um problema aritmético usando apenas os 'numerais'
E imprima o resultado inteiro equivalente no formulário fornecido.
Aqui está um exemplo:
INPUT
abcdefghij
bcd + efg + hij
OUTPUT
bdgi
No exemplo, a lista de entrada (você pode escolher em qual formulário a lista entra) de 'abcdefghij' corresponde a '0123456789', assim como 'hjkloiwdfp' também corresponderia 1 a 1 a '0123456789' onde, em vez de 'a' associado a zero, 'h' faz. O seguinte aritmético 'se traduz' em 123 + 456 + 789, o que equivale a 1368. Isso deve ser gerado na forma que fornecemos, então b (que representa 1) d (para 2) g (para 6) e i (para 8)
CASOS DE TESTE
abcdefghij
abc + def - ghij
-gedc
qwertyuiop
qwerty / uiop
e
%y83l;[=9|
(83l * 9) + 8%
y9|8
MAIS REGRAS
- As brechas padrão são proibidas!
- Isso é código de golfe, então respostas mais curtas em bytes ganham.
- Deve ser um programa ou função completo, com entradas e saídas no formato que for melhor para você. (Apenas não é possível adicionar informações adicionais nas entradas, apenas 'numerais' e a expressão.
- Use qualquer idioma que desejar (desde que esteja em conformidade com outras regras)
1
para 5/3
, não 2
devido à divisão inteira (sem arredondamento). Isso não invalida o desafio, mas pode ser necessário permitir respostas aceitáveis diferentes para o mesmo caso de teste (veja minha resposta T-SQL abaixo).
q.ioiopewioyetqorw...
. Em caso afirmativo, que tipo de arredondamento deve ser aplicado?