Dado um polinômio, determine se é primo.
Um polinômio é ax^n + bx^(n-1) + ... + dx^3 + ex^2 + fx + g, onde cada termo é um número constante (o coeficiente) multiplicado por uma potência inteira não negativa de x. A potência mais alta com um coeficiente diferente de zero é chamada de grau. Para esse desafio, consideramos apenas polinômios de pelo menos grau 1. Ou seja, cada polinômio contém alguns x. Além disso, usamos apenas polinômios com coeficientes inteiros.
Polinômios podem ser multiplicados. Por exemplo, (x+3)(2x^2-2x+3)é igual 2x^3+4x^2-3x+9. Assim, 2x^3+4x^2-3x+9pode ser considerado x+3e 2x^2-2x+3, portanto, é composto.
Outros polinômios não podem ser fatorados. Por exemplo, 2x^2-2x+3não é o produto de dois polinômios (ignorando polinômios constantes ou com coeficientes não inteiros). Por isso, é primo (também conhecido como irredutível).
Regras
- A entrada e a saída podem ser feitas de qualquer maneira padrão.
- A entrada pode ser uma sequência
2x^2-2x+3, uma lista de coeficientes{2,-2,3}, ou qualquer outro meio semelhante. - A saída é um valor verdadeiro, se for primo, ou um valor falsey, se for composto. Você deve produzir o mesmo valor de verdade para todos os números primos e o mesmo valor de falsey para todos os polinômios compostos.
- A entrada será de no mínimo 1 e no máximo 10.
- Você não pode usar ferramentas internas para fatoração (de números inteiros ou expressões) ou solução de equações.
Exemplos
Verdadeiro - principal
x+3
-2x
x^2+x+1
x^3-3x-1
-2x^6-3x^4+2
3x^9-8x^8-3x^7+2x^3-10
Falso - composto
x^2
x^2+2x+1
x^4+2x^3+3x^2+2x+1
-3x^7+5x^6-2x
x^9-8x^8+7x^7+19x^6-10x^5-35x^4-14x^3+36x^2+16x-12