Ein Feld in der Mathematik ist eine Menge von Zahlen, auf denen Additions- und Multiplikationsoperationen so definiert sind, dass sie bestimmte Axiome erfüllen (beschrieben in Wikipedia; siehe auch unten).
Ein endliches Feld kann p n -Elemente haben, wobei p
es sich um eine Primzahl und n
eine natürliche Zahl handelt. Nehmen wir in dieser Herausforderung p = 2
und n = 8
und erstellen ein Feld mit 256 Elementen.
Die Elemente des Feldes sollten aufeinanderfolgende ganze Zahlen in einem Bereich liegen, enthält 0
und 1
:
- -128 ... 127
- 0 ... 255
- oder irgendein anderer solcher Bereich
Definieren Sie zwei Funktionen (oder Programme, falls dies einfacher ist) a(x,y)
für abstrakte "Addition" und m(x,y)
für abstrakte "Multiplikation", so dass sie die Feldaxiome erfüllen:
- Konsistenz:
a(x,y)
undm(x,y)
erzeugen dasselbe Ergebnis, wenn sie mit denselben Argumenten aufgerufen werden - Closedness: Das Ergebnis von
a
undm
ist eine ganze Zahl im relevanten Bereich - Assoziativität: für jeden
x
,y
undz
in dem Bereich,a(a(x,y),z)
gleich ista(x,a(y,z))
; das gleiche fürm
- Kommutativität: für jede
x
undy
im Bereicha(x,y)
ist gleicha(y,x)
; das gleiche fürm
- Distributivity: für jeden
x
,y
undz
im Bereich,m(x,a(y,z))
ist gleicha(m(x,y),m(x,z))
- Neutrale Elemente: für alle
x
im Bereicha(0,x)
ist gleichx
undm(1,x)
gleichx
- Negierung: für jede
x
im Bereich, gibt es solche ,y
diea(x,y)
ist0
- Invers: für jede
x≠0
im Bereich gibt es solche ,y
diem(x,y)
ist1
Die Namen a
und m
sind nur Beispiele; Sie können andere Namen oder unbenannte Funktionen verwenden. Die Punktzahl Ihrer Antwort ist die Summe der Byte-Längen für a
und m
.
Wenn Sie eine eingebaute Funktion verwenden, beschreiben Sie bitte auch in Worten, welches Ergebnis sie liefert (z. B. eine Multiplikationstabelle).
a=+
m=×
?
m=×
a(2,1) = 3
, die Sie haben könnten,a(2,1) = 5
solange die obigen Axiome erfüllt sind.a
Mit dem üblichen Zusatz, den man zB aus dem Bereich der rationalen Zahlen kennt, muss man nichts anfangen.