ฟิลด์ในวิชาคณิตศาสตร์เป็นชุดของตัวเลขที่มีการเพิ่มและการคูณการดำเนินงานที่กำหนดไว้ในนั้นเช่นที่พวกเขาตอบสนองหลักการบางอย่าง (ที่อธิบายไว้ในวิกิพีเดียดูยังด้านล่าง)
เขตข้อมูล จำกัด สามารถมีองค์ประกอบ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เป็นเพียงตัวอย่าง คุณสามารถใช้ชื่ออื่นหรือฟังก์ชั่นที่ไม่มีชื่อ คะแนนคำตอบของคุณคือผลรวมของความยาวไบต์สำหรับและam
หากคุณใช้ฟังก์ชั่นในตัวโปรดอธิบายด้วยคำที่เป็นผลลัพธ์ (เช่นจัดเตรียมตารางสูตรคูณ)
a=+ m=×หรือไม่?
m=×
a(2,1) = 3คุณอาจมีa(2,1) = 5ตราบเท่าที่หลักการข้างต้นมีความพึงพอใจaไม่ต้องทำอะไรด้วยการเพิ่มตามปกติที่คุณคุ้นเคยเช่นจากฟิลด์ของจำนวนตรรกยะ