Polinomial simetris adalah polinomial yang tidak berubah berdasarkan permutasi variabel-variabelnya.
Dengan kata lain, polinomial f(x,y)adalah simetris jika dan hanya jika f(x,y) = f(y,x); polinomial g(x,y,z)adalah iff simetris g(x,y,z) = g(x,z,y) = g(y,x,z) = etc.
Sebagai contoh, x^2+2xy+y^2, xydan x^3+x^2y+xy^2+y^3adalah polinomial simetris, di mana 2x+ydan x^2+ytidak.
Tantangan
Anda akan diberi polinomial, dan program Anda harus menampilkan nilai kebenaran / kepalsuan, tergantung pada apakah polinomial yang diberikan adalah polinomial simetris.
Format input diperbolehkan dengan dua cara. String, dan array, seperti ["x^2","2xy","y^2"], di mana polinomial adalah jumlah dari setiap elemen.
Contoh
x^2+2xy+y^2 => true
xy => true
xy+yz+xz-3xyz => true
(x+y)(x-y) => false
2x+y => false
x^2+y => false
x+2y+3 => false
Spesifikasi
Operasi memiliki perintah, seperti dalam matematika normal. urutannya seperti ini:
() => ^ => * => +-
aturan kode-golf berlaku.
Semua karakter dalam alfabet ( a~z) diterima sebagai variabel, yang lainnya adalah angka.
Polinomial yang diberikan akan memiliki 2 variabel atau lebih.
Perkalian tidak memerlukan operator *, Anda hanya perlu mendeteksi penjajaran. (mendeteksi dengan penjajaran tidak perlu, gunakan opsi yang lebih baik)
() => ^ => */ => +-tetapi contoh Anda tidak menunjukkan semua ini. Saya akan membayangkan kita bisa berharap -tetapi tidak /. Seperti yang telah Anda sebutkan, ()apakah kami diharapkan menangani dalam format (-1+x)(-y-3)?