Um campo em matemática é um conjunto de números, com operações de adição e multiplicação definidas, de modo a satisfazer certos axiomas (descritos na Wikipedia; veja também abaixo).
Um campo finito pode ter elementos p n , onde p
é um número primo e n
é um número natural. Neste desafio, vamos pegar p = 2
e n = 8
, então vamos criar um campo com 256 elementos.
Os elementos do campo devem ser números inteiros consecutivos em um intervalo que contém 0
e 1
:
- -128 ... 127
- 0 ... 255
- ou qualquer outro intervalo
Defina duas funções (ou programas, se isso for mais fácil), a(x,y)
para "adição" m(x,y)
abstrata e "multiplicação" abstrata, de modo a satisfazer os axiomas do campo:
- Consistência:
a(x,y)
em(x,y)
produz o mesmo resultado quando chamado com os mesmos argumentos - Fechamento: o resultado de
a
em
é um número inteiro no intervalo relevante - Associatividade: para qualquer
x
,y
ez
no intervalo,a(a(x,y),z)
é igual aa(x,a(y,z))
; o mesmo param
- Comutatividade: para qualquer
x
ey
na faixa,a(x,y)
é igual aa(y,x)
; o mesmo param
- Distributividade: para qualquer
x
,y
ez
dentro da faixa,m(x,a(y,z))
é igual aa(m(x,y),m(x,z))
- Elementos neutros: para qualquer um
x
no intervalo,a(0,x)
é igual ax
, em(1,x)
é igual ax
- Negação: para qualquer pessoa
x
no intervalo, existe umay
quea(x,y)
seja0
- Inverso: para qualquer pessoa
x≠0
no intervalo, existe umay
quem(x,y)
seja1
Os nomes a
e m
são apenas exemplos; você pode usar outros nomes ou funções sem nome. A pontuação da sua resposta é a soma dos comprimentos de bytes para a
e m
.
Se você usar uma função interna, descreva também em palavras o resultado que ela produz (por exemplo, forneça uma tabela de multiplicação).
a=+
m=×
?
m=×
a(2,1) = 3
, você pode tera(2,1) = 5
enquanto os axiomas acima forem satisfeitos.a
não precisa fazer nada com a adição usual a que você está acostumado, por exemplo, no campo dos números racionais.