Dato un polinomio, determinare se è primo.
Un polinomio è ax^n + bx^(n-1) + ... + dx^3 + ex^2 + fx + g
, dove ogni termine è un numero costante (il coefficiente) moltiplicato per un potere intero non negativo di x
. La massima potenza con un coefficiente diverso da zero si chiama grado. Per questa sfida, consideriamo solo i polinomi di almeno grado 1. Cioè, ogni polinomio ne contiene alcuni x
. Inoltre, utilizziamo solo polinomi con coefficienti interi.
I polinomi possono essere moltiplicati. Ad esempio, (x+3)(2x^2-2x+3)
uguale a 2x^3+4x^2-3x+9
. Pertanto, 2x^3+4x^2-3x+9
può essere preso in considerazione x+3
e 2x^2-2x+3
, quindi, è composito.
Altri polinomi non possono essere presi in considerazione. Ad esempio, 2x^2-2x+3
non è il prodotto di due polinomi (ignorando i polinomi costanti o quelli con coefficienti non interi). Quindi, è primo (noto anche come irriducibile).
Regole
- L'input e l'output possono avvenire in qualsiasi modo standard.
- L'input può essere una stringa come
2x^2-2x+3
, un elenco di coefficienti simili{2,-2,3}
o qualsiasi mezzo simile. - L'output è un valore di verità se è primo o un valore di falsa se è composto. Devi fornire lo stesso valore di verità per tutti i numeri primi e lo stesso valore di falsità per tutti i polinomi compositi.
- L'input sarà di almeno grado 1 e al massimo grado 10.
- Non è possibile utilizzare strumenti integrati per la fattorizzazione (di numeri interi o espressioni) o per la risoluzione di equazioni.
Esempi
Vero - primo
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 - composito
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