Sebuah bidang dalam matematika adalah seperangkat angka, dengan operasi penjumlahan dan perkalian didefinisikan di atasnya, sehingga mereka memenuhi aksioma tertentu (yang dijelaskan dalam Wikipedia; lihat juga di bawah).
Bidang terbatas dapat memiliki elemen p n , di mana p
bilangan prima, dan n
bilangan alami. Dalam tantangan ini, mari kita ambil p = 2
dan n = 8
, jadi mari kita membuat bidang dengan 256 elemen.
Elemen-elemen bidang harus bilangan bulat berturut-turut dalam rentang yang berisi 0
dan 1
:
- -128 ... 127
- 0 ... 255
- atau rentang lain seperti itu
Tentukan dua fungsi (atau program, jika itu lebih mudah), a(x,y)
untuk abstrak "penjumlahan", dan m(x,y)
untuk "perkalian" abstrak, sedemikian rupa sehingga memenuhi bidang aksioma:
- Konsistensi:
a(x,y)
danm(x,y)
menghasilkan hasil yang sama ketika dipanggil dengan argumen yang sama - Tertutup: Hasil
a
danm
bilangan bulat dalam rentang yang relevan - Asosiatif: untuk apa pun
x
,y
danz
dalam kisaran,a(a(x,y),z)
sama dengana(x,a(y,z))
; sama untukm
- Commutativity: untuk apa pun
x
dany
dalam kisaran,a(x,y)
sama dengana(y,x)
; sama untukm
- Distribusi: untuk apa pun
x
,y
danz
dalam kisaran,m(x,a(y,z))
sama dengana(m(x,y),m(x,z))
- Elemen netral: untuk apa pun
x
dalam rentang,a(0,x)
sama denganx
, danm(1,x)
sama denganx
- Negasi: untuk setiap
x
dalam kisaran, terdapat sepertiy
itua(x,y)
adalah0
- Inverse: untuk setiap
x≠0
dalam kisaran, terdapat sepertiy
itum(x,y)
adalah1
Nama a
dan m
hanya contoh; Anda dapat menggunakan nama lain, atau fungsi yang tidak disebutkan namanya. Skor jawaban Anda adalah jumlah byte-panjang untuk a
dan m
.
Jika Anda menggunakan fungsi bawaan, harap juga jelaskan dengan kata-kata yang dihasilkannya (mis. Berikan tabel perkalian).
a=+
m=×
?
m=×
a(2,1) = 3
, Anda bisa memilikia(2,1) = 5
selama aksioma di atas puas.a
tidak harus melakukan apa pun dengan penambahan yang biasa Anda gunakan misalnya dari bidang bilangan rasional.