Поле в математиці є набором чисел, з операціями додавання і множення , визначених на ній, таким чином, що вони задовольняють певні аксіоми (описані в Вікіпедії, див також нижче).
Кінцеве поле може мати p n елементів, де p
є простим числом і n
є натуральним числом. У цьому виклику візьмемо p = 2
і n = 8
, тому зробимо поле з 256 елементами.
Елементи поля повинні бути послідовними цілими числами в діапазоні, що містить 0
і 1
:
- -128 ... 127
- 0 ... 255
- або будь-який інший подібний діапазон
Визначте дві функції (або програми, якщо це простіше), a(x,y)
для абстрактного "додавання" та m(x,y)
для абстрактного "множення", щоб вони задовольняли аксіоми поля:
- Послідовність:
a(x,y)
іm(x,y)
дають однаковий результат, коли викликаються з однаковими аргументами - Закритість: Результат
a
іm
є цілим числом у відповідному діапазоні - Асоціативність: для будь-якого
x
,y
іz
в діапазоні,a(a(x,y),z)
дорівнюєa(x,a(y,z))
; те саме дляm
- Комутативність: для будь-якого
x
іy
в діапазоніa(x,y)
дорівнюєa(y,x)
; те саме дляm
- Дистрибутивність: для будь-якого
x
,y
іz
в межах,m(x,a(y,z))
так самоa(m(x,y),m(x,z))
- Нейтральні елементи: для будь-якого
x
в діапазоніa(0,x)
дорівнюєx
іm(1,x)
дорівнюєx
- Заперечення: для будь-якого
x
в діапазоні існує такий,y
якийa(x,y)
є0
- Зворотне: для будь-якого
x≠0
в діапазоні існує таке,y
щоm(x,y)
є1
Назви a
та m
лише приклади; ви можете використовувати інші імена або неназвані функції. Оцінка вашої відповіді - це сума байтів для a
та і m
.
Якщо ви використовуєте вбудовану функцію, будь-ласка, також опишіть словами, результат яких вона створює (наприклад, надайте таблицю множення).
a=+
m=×
?
m=×
a(2,1) = 3
, ви могли б матиa(2,1) = 5
, доки зазначені вище аксіоми будуть задоволені.a
не має нічого спільного із звичайним доповненням, до якого ви звикли, наприклад, із поля раціональних чисел.