Diberikan polinomial, tentukan apakah itu prima.
Polinomial adalah ax^n + bx^(n-1) + ... + dx^3 + ex^2 + fx + g
, di mana setiap istilah adalah bilangan konstan (koefisien) dikalikan dengan kekuatan bilangan bulat tidak negatif dari x
. Kekuatan tertinggi dengan koefisien bukan nol disebut derajat. Untuk tantangan ini, kami hanya mempertimbangkan polinomial paling sedikit derajat 1. Artinya, setiap polinomial mengandung beberapa x
. Selain itu, kami hanya menggunakan polinomial dengan koefisien bilangan bulat.
Polinomial dapat dikalikan. Misalnya, (x+3)(2x^2-2x+3)
sama dengan 2x^3+4x^2-3x+9
. Dengan demikian, 2x^3+4x^2-3x+9
dapat difaktorkan menjadi x+3
dan 2x^2-2x+3
, sehingga bersifat komposit.
Polinomial lain tidak dapat difaktorkan. Misalnya, 2x^2-2x+3
bukan produk dari dua polinomial (mengabaikan polinomial konstan atau yang memiliki koefisien non-integer). Karenanya, ini prima (juga dikenal sebagai irreducible).
Aturan
- Input dan output dapat melalui cara standar apa pun.
- Input dapat berupa string seperti
2x^2-2x+3
, daftar koefisien seperti{2,-2,3}
, atau sarana serupa lainnya. - Output adalah nilai kebenaran jika itu prima, atau nilai falsey jika itu komposit. Anda harus menghasilkan nilai kebenaran yang sama untuk semua bilangan prima, dan nilai falsey yang sama untuk semua polinomial komposit.
- Input akan setidaknya dari derajat 1 dan paling banyak derajat 10.
- Anda tidak boleh menggunakan alat bawaan untuk faktorisasi (bilangan bulat atau ekspresi) atau pemecahan persamaan.
Contohnya
Benar - prima
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
Salah - komposit
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