BBezoutVale
Ruang kerja kode dengan AI

Koefisien bilangan bulat Bézout

Kembalikan FPB nonnegatif dan koefisien Bézout untuk dua bilangan bulat dengan kurang dari 101 digit desimal.

● ● ●BezoutVale●
Alur kerja · Koefisien bilangan bulat Bézout ×
def bezout(a, b):
    if any(type(v) is not int or abs(v) >= 10**100 for v in (a, b)):
        raise ValueError("integer.range")
    old_r, r = abs(a), abs(b)
    old_s, s, old_t, t = 1, 0, 0, 1
    while r:
        q = old_r // r
        old_r, r = r, old_r - q * r
        old_s, s = s, old_s - q * s
        old_t, t = t, old_t - q * t
    return old_r, old_s * (-1 if a < 0 else 1), old_t * (-1 if b < 0 else 1)
✳Kembalikan FPB nonnegatif dan koefisien Bézout untuk dua bilangan bulat dengan kurang dari 101 digit desimal.
✓ PerubahanTinjau sebelum menerapkan ↗
Ilustrasi ruang kerja
01

Tinjau sebelum menerapkan

Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.

02

Model

Atur endpoint kompatibel OpenAI atau Anthropic dengan URL dasar dan kunci API jika diperlukan. Uji koneksi. Server model lokal harus berjalan; alat jarak jauh dapat mengirim data secara terpisah.

03

Proyek

Uji operand negatif dan kasus nol, verifikasi identitas bilangan bulat dan tolak Boolean.

Alur kerja

Koefisien bilangan bulat Bézout

Alur kerja ↗
Alur kerja
def bezout(a, b):
    if any(type(v) is not int or abs(v) >= 10**100 for v in (a, b)):
        raise ValueError("integer.range")
    old_r, r = abs(a), abs(b)
    old_s, s, old_t, t = 1, 0, 0, 1
    while r:
        q = old_r // r
        old_r, r = r, old_r - q * r
        old_s, s = s, old_s - q * s
        old_t, t = t, old_t - q * t
    return old_r, old_s * (-1 if a < 0 else 1), old_t * (-1 if b < 0 else 1)
Ruang kerja kode dengan AI

Tinjau kontrak nilai kembalian secermat perhitungannya

BezoutVale adalah perangkat lunak pemrograman Windows untuk memeriksa rutin pembantu yang keluarannya harus memenuhi kontrak presisi. Buka proyek dan jelaskan apa yang diharapkan pemanggil dari setiap nilai kembalian. Minta model memeriksa antarmuka itu sebelum mengusulkan refaktor, terutama ketika beberapa keluaran dapat tampak masuk akal secara terpisah.

Tugas berdasarkan bezout.py dapat berfokus pada masukan bertanda dan koefisien yang dikembalikan bersama pembagi bersama. Sertakan data uji masukan negatif dalam percakapan dan nyatakan identitas yang harus dipenuhi hasilnya. Lalu tinjau bagaimana pemanggil menggunakan tuple, agar perubahan urutan nilai kembalian atau konvensi tanda tidak lolos tanpa diketahui di balik aritmetika yang tampak benar.

Gunakan pemeriksaan independen untuk menilai usulan. Jalankan pengujian proyek dan periksa kombinasi masukan nol, variasi tanda, serta penolakan operan yang tidak didukung. Kaitkan bukti dengan persyaratan asli. Penjelasan model dapat memandu peninjauan, tetapi aplikasi membutuhkan hasil yang memenuhi hubungan matematis maupun antarmuka yang benar-benar dipanggilnya.

Pilih model melalui endpoint kompatibel OpenAI atau Anthropic yang didukung, dengan memberikan kredensial sesuai kebutuhan. Model AI tanpa sensor mungkin tersedia dari layanan itu, tunduk pada pembatasan penyedia. Dukungan alat dan kapasitas konteks bergantung pada model serta server terpilih; batasi diskusi kode sumber pada hal yang dapat diperiksa secara andal dalam sesi.

Pertanyaan untuk antarmuka aritmetika bernilai banyak

Haruskah dua implementasi yang benar mengembalikan koefisien identik?

Belum tentu. Tentukan sifat yang dibutuhkan aplikasi dan apakah aplikasi bergantung pada satu representasi tertentu. Pernyataan kesetaraan seluruh tuple mungkin lebih ketat daripada kontraknya. Tinjau pemanggil sebelum mengubah rutin atau pengujiannya.

Mengapa memeriksa masukan negatif secara terpisah?

Penanganan tanda dapat mempertahankan pembagi yang tampak masuk akal sambil melanggar hubungan yang melibatkan koefisien. Berikan data uji bertanda dan verifikasi hubungan penentunya secara independen. Tinjau normalisasi pada batas masukan agar nilai kembalian tetap merujuk pada operan asli.

Apa yang harus terjadi ketika kedua masukan nol?

Nyatakan hasil atau kebijakan penolakan yang dimaksud dan bandingkan dengan implementasi serta pemanggil saat ini. Jangan menganggap penalaran masukan positif biasa menyelesaikan kasus nol. Sertakan secara eksplisit dalam peninjauan agar refaktor berikutnya mempertahankan kontrak pilihan.

Bisakah saya meminta perapian tanpa mengubah konvensi nilai kembalian?

Ya. Cantumkan urutan tuple, tipe yang diterima, dan aturan tanda yang ada dalam permintaan, lalu minta perubahan terbatas. Periksa perbedaan kode hasilnya untuk validasi yang berubah atau keluaran yang diurutkan ulang, lalu jalankan pemeriksaan tingkat kontrak sebelum menerima perapian dalam proyek.

Unduh untuk Windows ↗

BezoutVale · Diperbarui 2026-10-25