Unduh aplikasi
Pilih folder dan minta asisten membaca berkas terkait sebelum mengeditnya. Tentukan tujuan serta batas tugas.
Bagi polinom bilangan bulat dengan paling banyak 21 koefisien oleh pembagi monik. Uji polinom nol dan pembagi konstan, tolak koefisien bukan bilangan bulat atau pembagi nonmonik dan periksa identitas hasil bagi-sisa.
Pilih folder dan minta asisten membaca berkas terkait sebelum mengeditnya. Tentukan tujuan serta batas tugas.
Pilih endpoint yang kompatibel. Alat yang tersedia dan kualitas jawaban bergantung pada model serta server yang digunakan.
Tinjau perubahan dan keluaran perintah. Jalankan pemeriksaan proyek sebelum menerima hasilnya; kode yang dihasilkan tidak otomatis sudah diuji.
Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.
def divide_monic(dividend, divisor):
for row in (dividend, divisor):
if type(row) not in (list, tuple) or len(row) > 21:
raise ValueError("at most 21 coefficients")
if any(type(x) is not int for x in row): raise ValueError("integers")
def trim(row):
row = list(row)
while row and row[0] == 0: row.pop(0)
return row
a, b = trim(dividend), trim(divisor)
if not b or b[0] != 1: raise ValueError("monic divisor")
quotient = [0] * max(0, len(a) - len(b) + 1)
while a and len(a) >= len(b):
degree, factor = len(a) - len(b), a[0]
quotient[len(quotient)-1-degree] = factor
a = trim([x-factor*y for x,y in zip(a,b)] + a[len(b):])
return trim(quotient), aTinjau sebelum menerapkan. Tinjau perubahan dan keluaran perintah. Jalankan pemeriksaan proyek sebelum menerima hasilnya; kode yang dihasilkan tidak otomatis sudah diuji.