Sebuah elemen primitif dari lapangan terbatas adalah generator dari kelompok perkalian dari lapangan. Dengan kata lain, alpha
in F(q)
disebut elemen primitif jika itu adalah q−1
akar persatuan primitif di Indonesia F(q)
. Ini berarti bahwa semua elemen non-nol F(q)
dapat ditulis alpha^i
untuk bilangan bulat (positif) i
.
Semua elemen bidang F_{2^k}
dapat ditulis sebagai polinomial tingkat paling banyak k-1
dengan koefisien yang salah 1
atau 0
. Untuk menyelesaikan ini, kode Anda juga perlu mengeluarkan polinomial derajat tak tereduksik
yang menentukan bidang yang Anda gunakan.
Tugasnya adalah menulis kode yang menghasilkan elemen primitif yang F_{2^k}
Anda pilih untuk masing-masing k = 1 .. 32
secara berurutan.
Keluaran Anda hanya harus mencantumkan k
koefisien elemen primitif dalam format apa pun yang Anda suka dan kemudian pada baris terpisah k+1
elemen polinomial yang tidak dapat direduksi. Silakan pisahkan output untuk setiap nilai k
jika memungkinkan.
Kode Anda mungkin memakan waktu selama yang Anda inginkan, tetapi Anda harus menjalankannya sampai selesai sebelum mengirimkan jawaban Anda.
Anda tidak dapat menggunakan fungsi bawaan atau pustaka yang mengembalikan elemen primitif dari bidang hingga atau menguji apakah elemen tersebut primitif.
Sebuah contoh
Untuk k = 1
satu-satunya elemen primitif adalah 1
.
Untuk k = 2
kita miliki F_4
. Keempat elemen itu {0, 1, x, x + 1}
jadi ada dua elemen primitif x
danx + 1
. Jadi kode bisa di-output
1 1
1 1 1
sebagai koefisien misalnya di mana baris kedua adalah polinomial yang tidak dapat direduksi yang dalam hal ini adalah x^2+x+1
yang memiliki koefisien 1 1 1
.
Jawaban:
Pari / GP , 114 byte
Terinspirasi oleh jawaban isaacg dalam pertanyaan lain.
Cobalah online!
Jika built-in diizinkan:
Pari / GP , 61 byte (tidak bersaing)
Cobalah online!
sumber
Mathematica, 127 byte
Penjelasan:
Keluaran:
sumber