Bestimmen Sie bei einem gegebenen Polynom, ob es eine Primzahl ist.
Ein Polynom ist ax^n + bx^(n-1) + ... + dx^3 + ex^2 + fx + g, wo jeder Term eine konstante Zahl (der Koeffizient) multipliziert mit einer nichtnegativen ganzzahligen Potenz von ist x. Die höchste Leistung mit einem Koeffizienten ungleich Null wird als Grad bezeichnet. Für diese Herausforderung betrachten wir nur Polynome von mindestens Grad 1. Das heißt, jedes Polynom enthält einige x. Außerdem verwenden wir nur Polynome mit ganzzahligen Koeffizienten.
Polynome können multipliziert werden. Zum Beispiel ist (x+3)(2x^2-2x+3)gleich 2x^3+4x^2-3x+9. Somit 2x^3+4x^2-3x+9kann in einkalkuliert werden x+3und 2x^2-2x+3, so es Verbund ist.
Andere Polynome können nicht berücksichtigt werden. Beispielsweise 2x^2-2x+3ist nicht das Produkt von zwei Polynomen (Ignorieren von konstanten Polynomen oder solchen mit nicht ganzzahligen Koeffizienten). Daher ist es prim (auch als irreduzibel bekannt).
Regeln
- Die Ein- und Ausgabe kann auf jedem Standardweg erfolgen.
- Die Eingabe kann eine Zeichenfolge
2x^2-2x+3, eine Liste von Koeffizienten{2,-2,3}oder ein ähnliches Mittel sein. - Die Ausgabe ist entweder ein wahrer Wert, wenn es sich um einen Primwert handelt, oder ein falscher Wert, wenn es sich um einen zusammengesetzten Wert handelt. Sie müssen für alle Primzahlen den gleichen Wahrheitswert und für alle zusammengesetzten Polynome den gleichen Falsey-Wert liefern.
- Die Eingabe hat mindestens Grad 1 und höchstens Grad 10.
- Sie dürfen keine eingebauten Werkzeuge zur Faktorisierung (von ganzen Zahlen oder Ausdrücken) oder zum Lösen von Gleichungen verwenden.
Beispiele
True - Prime
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
Falsch - zusammengesetzt
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