Um elemento primitivo de um campo finito é um gerador do grupo multiplicativo do campo. Em outras palavras, alphain F(q)é chamado de elemento primitivo se for uma q−1raiz primitiva da unidade em F(q). Isso significa que todos os elementos diferentes de zero F(q)podem ser escritos como alpha^ipara algum número inteiro (positivo) i.
Todos os elementos do campo F_{2^k}podem ser escritos como polinômios de grau, no máximo, k-1com coeficientes que são 1ou 0. Para concluir isso, seu código também precisa gerar um polinômio irredutível de grau kque define o campo que você está usando.
A tarefa é escrever código que gera um elemento primitivo F_{2^k}de sua escolha para cada um k = 1 .. 32em ordem.
Sua saída deve simplesmente listar os kcoeficientes do elemento primitivo em qualquer formato que você desejar e, em uma linha separada, os k+1elementos do polinômio irredutível. Separe as saídas para cada valor, kse possível.
Seu código pode levar o tempo que você quiser, mas você deve executá-lo até concluir antes de enviar sua resposta.
Você não pode usar nenhuma função interna ou de biblioteca que retorne elementos primitivos de um campo finito ou teste se um elemento é primitivo.
Um exemplo
Pois k = 1o único elemento primitivo é 1.
Pois k = 2nós temos F_4. Os 4 elementos são {0, 1, x, x + 1}então existem dois elementos primitivos xe x + 1. Então o código pode gerar
1 1
1 1 1
como os coeficientes, por exemplo, onde a segunda linha é o polinômio irredutível que, neste caso, é o x^2+x+1que possui coeficientes 1 1 1.