Her alan boyutu için ilkel bir eleman çıktısı alın


16

Bir ilkel eleman sonlu alan alanında çarpımsal grubunun bir jeneratördür. Diğer bir deyişle, alphain F(q), q−1içinde birliğin ilkel bir kökü ise , ilkel bir öğe olarak adlandırılır F(q). Bu, sıfır olmayan tüm öğelerin bazı (pozitif) tamsayı F(q)gibi yazılabileceği anlamına gelir .alpha^ii

Alanın tüm unsurları ya ya katsayıları ile F_{2^k}en çok derece polinomları olarak yazılabilir . Bunu tamamlamak için kodunuzun , kullandığınız alanı tanımlayan indirgenemez bir polinom derecesi de vermesi gerekir .k-110k

Görev, F_{2^k}her biri için seçtiğiniz ilkel bir öğeyi k = 1 .. 32sırayla çıkaran yazma kodudur .

Çıktınız kilkel elemanın katsayılarını istediğiniz herhangi bir formatta ve sonra k+1indirgenemez polinomun elemanlarını ayrı bir satırda listelemelidir . Lütfen çıkışları kmümkünse her değeri için ayırın .

Kodunuz istediğiniz kadar sürebilir, ancak yanıtınızı göndermeden önce kodu tamamlamanız gerekir.

Sonlu bir alanın ilkel öğelerini döndüren veya bir öğenin ilkel olup olmadığını test eden yerleşik veya kütüphane işlevlerini kullanamazsınız.

Bir örnek

Çünkü k = 1sadece ilkel unsur 1.

Çünkü k = 2biz varız F_4. 4 element vardır, {0, 1, x, x + 1}bu yüzden iki ilkel element vardır xve x + 1. Böylece kod çıktı alabilir

1 1
1 1 1

örneğin ikinci çizginin indirgenemez polinom olduğu x^2+x+1katsayılar , bu durumda katsayıları olan 1 1 1.


4
Örnek var mı?
Okx

1
Çıktı yaptığımız bir tamsayının bitleri olarak kodlanan polinomları ve / veya alan elemanlarını da çıkarabilir miyiz?
orlp

@orlp Kesinlikle evet.

1
Bence Pari / GP bunun için yerleşik bir dil .
alephalpha

Yanıtlar:



4

Mathematica, 127 bayt

Do[For[i=2*2^n,PolynomialMod[x^Divisors[2^n-1]+1,i~IntegerDigits~2~FromDigits~x,Modulus->2]~Count~0!=1,i--];Print@{2,i},{n,32}]

Açıklama:

xn2n-1x2n-1-1xben-1ben2n-1

Çıktı:

8589934581111111111111111111111111111110101

x32+x31+x30+x29+x28+x27+x26+x25+x24+x23+x22+x21+x20+x19+x18+x17+x16+x15+x14+x13+x12+x11+x10+x9+x8+x7+x6+x5+x4+x2+1

{2,3}

{2,7}

{2,13}

{2,25}

2,61 {}

{2115}

{2,253}

{2.501}

{2,1019}

{2,2041}

{2,4073}

{2,8137}

{2,16381}

{2,32743}

{2,65533}

{2,131053}

{2,262127}

{2,524263}

{2,1048531}

{2,2097145}

{2,4194227}

{2,8388589}

{2,16777213}

{2,33554351}

{2,67108849}

{2,134217697}

{2,268435427}

{2,536870805}

{2,1073741801}

{2,2147483533}

{2,4294967287}

{2,8589934581}

Bu güzel. Jelly sürümünü dört gözle bekliyorum :)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.