Un champ en mathématiques est un ensemble de nombres, avec des opérations d'addition et de multiplication définies dessus, de sorte qu'ils satisfont certains axiomes (décrits dans Wikipedia; voir aussi ci-dessous).
Un champ fini peut avoir p n éléments, où p
est un nombre premier et n
un nombre naturel. Dans ce défi, prenons p = 2
et n = 8
, créons donc un champ avec 256 éléments.
Les éléments du champ doivent être des entiers consécutifs dans une plage qui contient 0
et 1
:
- -128 ... 127
- 0 ... 255
- ou toute autre plage de ce type
Définissez deux fonctions (ou programmes, si c'est plus facile), a(x,y)
pour "l'addition" m(x,y)
abstraite , et pour la "multiplication" abstraite, de telle sorte qu'elles satisfassent les axiomes de champ:
- Cohérence:
a(x,y)
etm(x,y)
produit le même résultat lorsqu'il est appelé avec les mêmes arguments - Fermeture: Le résultat de
a
etm
est un entier dans la plage pertinente - Associativité: pour tout
x
,y
etz
dans la plage,a(a(x,y),z)
est égal àa(x,a(y,z))
; pareil pourm
- Commutativité: pour tout
x
ety
dans la plage,a(x,y)
est égal àa(y,x)
; pareil pourm
- Distributivité: pour tout
x
,y
etz
dans la plage,m(x,a(y,z))
est égal àa(m(x,y),m(x,z))
- Éléments neutres: pour tout élément
x
de la plage,a(0,x)
est égal àx
etm(1,x)
est égal àx
- Négation: pour toute
x
la gamme, il existe cey
quia(x,y)
est0
- Inverse: pour toute
x≠0
la gamme, il existe cey
quim(x,y)
est1
Les noms a
et ne m
sont que des exemples; vous pouvez utiliser d'autres noms ou fonctions sans nom. Le score de votre réponse est la somme des longueurs d'octets pour a
et m
.
Si vous utilisez une fonction intégrée, veuillez également décrire en mots le résultat qu'elle produit (par exemple, fournir une table de multiplication).
a=+
m=×
?
m=×
a(2,1) = 3
, vous pourriez en avoira(2,1) = 5
tant que les axiomes ci-dessus sont satisfaits.a
n'a rien à faire avec l'ajout habituel auquel vous êtes habitué, par exemple dans le domaine des nombres rationnels.