Desafio:
Envie os 'dígitos inteiros' de uma das seis tabelas aritméticas a seguir, com base na entrada:
- adição ( +
);
- subtração ( -
);
- multiplicação ( *
);
- divisão ( /
);
- exponenciação ( ^
);
- operação do módulo ( %
).
Regras:
- O que eu defino como 'inteiros dígitos': cada resultado do operando aritmética que é exatamente uma das seguintes opções:
0
,1
,2
,3
,4
,5
,6
,7
,8
,9
. Isso significa que você exclui todos os resultados iguais10
ou superiores, todos os resultados-1
iguais ou inferiores e todos os resultados não inteiros. Como calculamos os resultados aritméticos: Usando o dígito superior primeiro e depois o operando com o dígito esquerdo.Você tem permissão para fazer isso vice-versa (ou seja, emy/x
vez dex/y
), desde que seja consistente para todas as seis saídas! (Portanto, você não tem permissão para usary-x
ex/y
na mesma resposta.) †- Não produziremos nada para dividir por 0 casos de teste (para as tabelas de operações de divisão e módulo)
- Não produziremos nada para o caso de ponta
0^0
.
Resultado:
Portanto, imprima o seguinte (o formato da tabela é um pouco flexível (veja abaixo): as linhas são opcionais e adicionadas principalmente para facilitar a leitura dos casos de teste):
Adição:
+ | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 | 0 1 2 3 4 5 6 7 8 9
1 | 1 2 3 4 5 6 7 8 9
2 | 2 3 4 5 6 7 8 9
3 | 3 4 5 6 7 8 9
4 | 4 5 6 7 8 9
5 | 5 6 7 8 9
6 | 6 7 8 9
7 | 7 8 9
8 | 8 9
9 | 9
Subtração:
- | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 | 0 1 2 3 4 5 6 7 8 9
1 | 0 1 2 3 4 5 6 7 8
2 | 0 1 2 3 4 5 6 7
3 | 0 1 2 3 4 5 6
4 | 0 1 2 3 4 5
5 | 0 1 2 3 4
6 | 0 1 2 3
7 | 0 1 2
8 | 0 1
9 | 0
Multiplicação:
* | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 | 0 0 0 0 0 0 0 0 0 0
1 | 0 1 2 3 4 5 6 7 8 9
2 | 0 2 4 6 8
3 | 0 3 6 9
4 | 0 4 8
5 | 0 5
6 | 0 6
7 | 0 7
8 | 0 8
9 | 0 9
Divisão:
/ | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 |
1 | 0 1 2 3 4 5 6 7 8 9
2 | 0 1 2 3 4
3 | 0 1 2 3
4 | 0 1 2
5 | 0 1
6 | 0 1
7 | 0 1
8 | 0 1
9 | 0 1
Exponenciação:
^ | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 | 1 1 1 1 1 1 1 1 1
1 | 0 1 2 3 4 5 6 7 8 9
2 | 0 1 4 9
3 | 0 1 8
4 | 0 1
5 | 0 1
6 | 0 1
7 | 0 1
8 | 0 1
9 | 0 1
Módulo:
% | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 |
1 | 0 0 0 0 0 0 0 0 0 0
2 | 0 1 0 1 0 1 0 1 0 1
3 | 0 1 2 0 1 2 0 1 2 0
4 | 0 1 2 3 0 1 2 3 0 1
5 | 0 1 2 3 4 0 1 2 3 4
6 | 0 1 2 3 4 5 0 1 2 3
7 | 0 1 2 3 4 5 6 0 1 2
8 | 0 1 2 3 4 5 6 7 0 1
9 | 0 1 2 3 4 5 6 7 8 0
Regras do desafio:
- Linhas à direita e espaços à direita são opcionais
- As linhas horizontais e verticais nos casos de teste são opcionais. Eu apenas os adicionei para melhor legibilidade. †
- Os espaços entre cada resultado NÃO são opcionais.
- O símbolo da aritmética pode ser diferente, desde que fique claro qual é.
×
Ou seja, ou em·
vez de*
multiplicação;÷
em vez de/
divisão; etc. †
E desde que seja um único personagem, desculpe pelo Python**
. - O formato de entrada é flexível. Você pode escolher um índice de 0-5 ou 1-6 para as seis tabelas correspondentes; você pode inserir o símbolo do operando; etc. (ao contrário do que é exibido no resultado, você pode inserir seqüências completas ou
**
no caso do Python.)
Apenas certifique-se de indicar qual formato de entrada você usa na sua resposta!
Regras gerais:
- Isso é código-golfe , então a resposta mais curta em bytes vence.
Não permita que idiomas com código de golfe o desencorajem a postar respostas com idiomas que não sejam codegolf. Tente encontrar uma resposta o mais curta possível para 'qualquer' linguagem de programação. - As regras padrão se aplicam à sua resposta, para que você possa usar STDIN / STDOUT, funções / método com os parâmetros adequados, programas completos. Sua chamada.
- As brechas padrão são proibidas.
- Se possível, adicione um link com um teste para o seu código.
- Além disso, adicione uma explicação, se necessário.
Exemplo † de saída válida sem linhas horizontais e verticais, ÷
como o símbolo e utilizando y/x
em vez de x/y
:
÷ 0 1 2 3 4 5 6 7 8 9
0 0 0 0 0 0 0 0 0 0
1 1
2 2 1
3 3 1
4 4 2 1
5 5 1
6 6 3 2 1
7 7 1
8 8 4 2 1
9 9 3 1
1
, outras 0
, outras algo a mais 0^0
ou dividem / mod 0, mas você terá que contornar isso. Quanto à sua segunda pergunta: Sim, claro, contanto que os dígitos ainda estejam nas mesmas colunas / linhas, você poderá usar quantos espaços quiser.
y-x
, y/x
, y^x
e y%x
em vez de x-y
, x/y
, x^y
e x%y
? Hmm, acho que poderia ser bom. Vou editá-lo na resposta; contanto que você vai ser consistente para todos os seis deles (por isso não y-x
e x/y
na mesma resposta).