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 = 2e 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 0e 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
aemé um número inteiro no intervalo relevante - Associatividade: para qualquer
x,yezno intervalo,a(a(x,y),z)é igual aa(x,a(y,z)); o mesmo param - Comutatividade: para qualquer
xeyna faixa,a(x,y)é igual aa(y,x); o mesmo param - Distributividade: para qualquer
x,yezdentro da faixa,m(x,a(y,z))é igual aa(m(x,y),m(x,z)) - Elementos neutros: para qualquer um
xno intervalo,a(0,x)é igual ax, em(1,x)é igual ax - Negação: para qualquer pessoa
xno intervalo, existe umayquea(x,y)seja0 - Inverso: para qualquer pessoa
x≠0no intervalo, existe umayquem(x,y)seja1
Os nomes ae msã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 ae 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) = 5enquanto os axiomas acima forem satisfeitos.anão precisa fazer nada com a adição usual a que você está acostumado, por exemplo, no campo dos números racionais.