数学の分野とは、特定の公理(Wikipediaで説明。以下も参照)を満たすように、加算および乗算演算が定義された一連の数値です。
有限体はp n個の要素を持つことができます。ここでp
は、素数でありn
、自然数です。この課題では、p = 2
とを使用してn = 8
、256個の要素を持つフィールドを作成しましょう。
フィールドの要素は、0
およびを含む範囲内の連続した整数でなければなりません1
。
- -128 ... 127
- 0 ... 255
- または他のそのような範囲
フィールドの公理を満たすように、抽象「加算」および抽象「乗算」のために、2つの関数(またはそれがより簡単な場合はプログラム)を定義します。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
有理数の分野などで慣れ親しんでいる通常の加算で何もする必要はありません。