甲字段在数学是一组数字,与在其上定义,使得它们满足特定公理加法和乘法操作(Wikipedia中所述;也见下文)。
有限域可以包含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与您习惯于使用有理数域的常用加法无关。