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 pes sich um eine Primzahl und neine natürliche Zahl handelt. Nehmen wir in dieser Herausforderung p = 2und n = 8und erstellen ein Feld mit 256 Elementen.
Die Elemente des Feldes sollten aufeinanderfolgende ganze Zahlen in einem Bereich liegen, enthält 0und 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
aundmist eine ganze Zahl im relevanten Bereich - Assoziativität: für jeden
x,yundzin dem Bereich,a(a(x,y),z)gleich ista(x,a(y,z)); das gleiche fürm - Kommutativität: für jede
xundyim Bereicha(x,y)ist gleicha(y,x); das gleiche fürm - Distributivity: für jeden
x,yundzim Bereich,m(x,a(y,z))ist gleicha(m(x,y),m(x,z)) - Neutrale Elemente: für alle
xim Bereicha(0,x)ist gleichxundm(1,x)gleichx - Negierung: für jede
xim Bereich, gibt es solche ,ydiea(x,y)ist0 - Invers: für jede
x≠0im Bereich gibt es solche ,ydiem(x,y)ist1
Die Namen aund msind nur Beispiele; Sie können andere Namen oder unbenannte Funktionen verwenden. Die Punktzahl Ihrer Antwort ist die Summe der Byte-Längen für aund 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) = 5solange die obigen Axiome erfüllt sind.aMit dem üblichen Zusatz, den man zB aus dem Bereich der rationalen Zahlen kennt, muss man nichts anfangen.