Поле в математике представляет собой набор чисел, с операциями сложения и умножения , определенных на ней, таким образом, что они удовлетворяют определенные аксиомы (описанные в Википедии, см также ниже).
Конечное поле может иметь 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
- Inverse: для любого
x≠0
в диапазоне, существует такого ,y
чтоm(x,y)
является1
Имена a
и m
только примеры; Вы можете использовать другие имена или безымянные функции. Оценка вашего ответа является суммой байтов для a
и m
.
Если вы используете встроенную функцию, пожалуйста, опишите также словами, какой результат она дает (например, предоставьте таблицу умножения).
a=+
m=×
?
m=×
a(2,1) = 3
, вы могли бы иметьa(2,1) = 5
до тех пор, пока вышеуказанные аксиомы выполнены.a
не нужно ничего делать с обычным сложением, к которому вы привыкли, например, из поля рациональных чисел.