ฟิลด์ในวิชาคณิตศาสตร์เป็นชุดของตัวเลขที่มีการเพิ่มและการคูณการดำเนินงานที่กำหนดไว้ในนั้นเช่นที่พวกเขาตอบสนองหลักการบางอย่าง (ที่อธิบายไว้ในวิกิพีเดียดูยังด้านล่าง)
เขตข้อมูล จำกัด สามารถมีองค์ประกอบ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)
สร้างผลลัพธ์เดียวกันเมื่อถูกเรียกด้วยอาร์กิวเมนต์เดียวกัน - Closedness: ผลลัพธ์ของ
a
และm
เป็นจำนวนเต็มในช่วงที่เกี่ยวข้อง - associativity: สำหรับการใด ๆ
x
,y
และz
อยู่ในช่วงที่a(a(x,y),z)
จะมีค่าเท่ากับa(x,a(y,z))
; เหมือนกันสำหรับm
- Commutativity: สำหรับใด ๆ
x
และy
ในช่วงa(x,y)
เท่ากับa(y,x)
; เหมือนกันสำหรับm
- distributivity: สำหรับการใด ๆ
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
ไม่ต้องทำอะไรด้วยการเพิ่มตามปกติที่คุณคุ้นเคยเช่นจากฟิลด์ของจำนวนตรรกยะ