Fibonacci dengan penggandaan cepat
Hitung bilangan Fibonacci dengan penggandaan cepat untuk indeks bulat dari nol hingga 10000.
def fibonacci(index):
if type(index) is not int or not 0 <= index <= 10000:
raise ValueError("index.range")
a, b = 0, 1
for bit in bin(index)[2:]:
c = a * (2 * b - a)
d = a * a + b * b
a, b = (c, d) if bit == "0" else (d, c + d)
return a- Proyek
- Uji nilai awal, suku besar yang diketahui dan batas atas, serta tolak indeks pecahan, negatif atau Boolean.
- Tinjau sebelum menerapkan
- Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.
- 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.
def fibonacci(index):
if type(index) is not int or not 0 <= index <= 10000:
raise ValueError("index.range")
a, b = 0, 1
for bit in bin(index)[2:]:
c = a * (2 * b - a)
d = a * a + b * b
a, b = (c, d) if bit == "0" else (d, c + d)
return aPastikan pengganti implementasi numerik memang layak digunakan
Mengganti perhitungan yang sudah dikenal dengan implementasi lebih ringkas menimbulkan persoalan peninjauan: bagaimana memastikan pemanggil tetap menerima hasil yang sama? FiboLantern adalah ruang kerja pemrograman AI untuk Windows bagi percakapan itu. Buka implementasi dan pengujian, jelaskan alasan mempertimbangkan penggantian, dan minta model yang terhubung memeriksa kontrak saat ini terlebih dahulu.
Fungsi rekurensi menawarkan salah satu kemungkinan tugas. Anda dapat meminta asisten meninjau implementasi Fibonacci sambil mempertahankan rentang indeks eksplisit dan keluaran bilangan bulat. Minta penjelasan pembaruan keadaan yang diusulkan, dikaitkan dengan nilai harapan kecil. Fokuskan pekerjaan pada penggantian yang dibutuhkan aplikasi, bukan menganggap rumus berbeda otomatis merupakan perbaikan.
Bandingkan usulan dengan implementasi acuan sederhana dalam rentang uji praktis, lalu periksa batas yang dinyatakan secara independen. Periksa perubahan validasi masukan dan penanganan kesalahan bersama perhitungannya sendiri. Jalankan pemeriksaan proyek dan ukur di lingkungan Anda jika kinerja mendorong perubahan; penjelasan lebih singkat bukan bukti aplikasi lebih cepat.
FiboLantern terhubung ke endpoint kompatibel OpenAI atau Anthropic yang didukung. Anda dapat memilih model AI tanpa sensor yang ditawarkan layanan Anda, dengan alat dan konteks ditentukan servernya. Tetapkan kriteria penerimaan secara eksplisit agar pilihan model mendukung peninjauan tanpa menggantikannya.
Menilai penggantian implementasi numerik
Bagaimana membenarkan penggantian kode rekurensi yang berfungsi?
Jelaskan dahulu masalah pemeliharaan atau kinerja yang nyata. Minta model membandingkan usulan dengan kontrak dan pengujian saat ini. Implementasi baru bukan alasan yang cukup untuk memperluas perubahan atau mengubah masukan yang didukung.
Apa yang membuat perbandingan acuan berguna?
Gunakan implementasi yang dapat dipahami secara independen dalam rentang yang terkelola, dengan hasil harapan persis pada batas penting. Membandingkan dua salinan logika yang sama dapat mengulangi kesalahan yang sama. Jaga acuan cukup sederhana untuk diperiksa peninjau.
Bisakah asisten menjanjikan penggantinya lebih cepat?
Diskusi dapat mengidentifikasi kemungkinan kompromi, tetapi ukurlah beban kerja terkait di lingkungan Anda. Sertakan biaya validasi dan pemanggil bila sesuai. Jangan mengubah pengamatan algoritmis menjadi klaim kinerja aplikasi tanpa bukti.
Haruskah batas indeks yang diterima meningkat dengan kode baru?
Hanya sebagai persyaratan eksplisit. Implementasi berbeda dapat mengubah penggunaan sumber daya tanpa membuat masukan lebih besar sesuai bagi pemanggil. Tinjau batas, respons kesalahan, dan penanganan lanjutan secara terpisah sebelum memperluas rentang yang didukung.
FiboLantern · Diperbarui 2026-10-25