QQuotaMosaic
Ruang kerja kode dengan AI

Alokasi sisa terbesar

Alokasikan hingga 10000 kursi pada maksimal 1000 bobot bulat nonnegatif dengan sisa terbesar.

● ● ●QuotaMosaic●
Alur kerja · Alokasi sisa terbesar ×
def allocate(weights, seats):
    if type(weights) not in (list, tuple) or len(weights) > 1000:
        raise ValueError("weights.container")
    weights = tuple(weights)
    if type(seats) is not int or not 0 <= seats <= 10000:
        raise ValueError("seats.range")
    if len(weights) > 1000 or any(type(w) is not int or w < 0 for w in weights):
        raise ValueError("weights.invalid")
    total = sum(weights)
    if total == 0:
        if seats:
            raise ValueError("weight.zero")
        return [0] * len(weights)
    result = [w * seats // total for w in weights]
    remaining = seats - sum(result)
    order = sorted(range(len(weights)), key=lambda i: (-(weights[i] * seats % total), i))
    for i in order[:remaining]:
        result[i] += 1
    return result
✳Alokasikan hingga 10000 kursi pada maksimal 1000 bobot bulat nonnegatif dengan sisa terbesar.
✓ PerubahanTinjau sebelum menerapkan ↗
Ilustrasi ruang kerja
01

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.

02

Proyek

Uji bobot nol dan sisa sama yang diurutkan menurut masukan, serta tolak alokasi positif dengan total bobot nol sebelum membagi.

03

Tinjau sebelum menerapkan

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

Alur kerja

Alokasi sisa terbesar

Alur kerja ↗
Alur kerja
def allocate(weights, seats):
    if type(weights) not in (list, tuple) or len(weights) > 1000:
        raise ValueError("weights.container")
    weights = tuple(weights)
    if type(seats) is not int or not 0 <= seats <= 10000:
        raise ValueError("seats.range")
    if len(weights) > 1000 or any(type(w) is not int or w < 0 for w in weights):
        raise ValueError("weights.invalid")
    total = sum(weights)
    if total == 0:
        if seats:
            raise ValueError("weight.zero")
        return [0] * len(weights)
    result = [w * seats // total for w in weights]
    remaining = seats - sum(result)
    order = sorted(range(len(weights)), key=lambda i: (-(weights[i] * seats % total), i))
    for i in order[:remaining]:
        result[i] += 1
    return result
Ruang kerja kode dengan AI

Pastikan perubahan alokasi menjelaskan total dan hasil serinya

Rutin alokasi dapat memenuhi total sambil membagikan bagian individual secara berbeda dari aturan yang diharapkan pengguna. QuotaMosaic adalah perangkat lunak pemrograman AI Windows untuk memeriksa pembedaan itu dalam proyek Anda sendiri. Sertakan implementasi, pemanggil, dan beberapa alokasi yang diharapkan dalam percakapan sebelum meminta perubahan kode sumber.

Salah satu tugas peninjauan adalah alokasi sisa terbesar, dengan unit utuh yang harus dibagikan berdasarkan bobot nonnegatif. Minta model yang terhubung memeriksa bagaimana alokasi dasar dan unit yang tersisa saling melengkapi. Sertakan contoh sisa yang sama dan nyatakan aturan pemecah seri secara eksplisit agar perubahan urutan tidak diam-diam mengubah hasil.

Tinjau antarmuka secermat aritmetikanya. Tentukan makna masukan kosong atau total nol seluruhnya ketika unit diminta, lalu periksa bagaimana kegagalan mencapai pemanggil. Jalankan pemeriksaan proyek terhadap contoh kecil yang diverifikasi secara independen dan tegaskan jumlah akhir maupun penetapan individual. Mempertahankan satu invarian tidak membuktikan yang lain.

QuotaMosaic terhubung ke endpoint kompatibel OpenAI atau Anthropic yang didukung. Model AI abliterasi dapat dipilih jika tersedia, dengan kemampuan dan batas ditentukan model serta server. Gunakan model untuk memeriksa aturan dan menyiapkan perbaikan yang dapat ditinjau, lalu verifikasi perilaku hasilnya dalam aplikasi Anda.

Pastikan perubahan alokasi menjelaskan total dan hasil serinya — pertanyaan sebelum menyunting

Apa yang perlu dinyatakan tentang hasil seri sebelum meminta perbaikan?

Tentukan bagaimana sisa yang sama diurutkan, termasuk apakah urutan masukan asli berpengaruh. Berikan contoh seri dengan alokasi yang diharapkan. Jika tidak, perubahan pengurutan yang tampaknya tidak berbahaya dapat mengubah penerima unit terakhir.

Apakah memeriksa jumlah cukup untuk memverifikasi perubahan?

Tidak. Beberapa alokasi berbeda dapat memiliki total yang sama. Periksa jumlah yang diberikan kepada setiap penerima dan hasil pemecah seri juga. Gunakan contoh harapan independen, bukan hanya mengulangi perhitungan implementasi dalam pengujian.

Bagaimana total bobot nol harus diperlakukan?

Tentukan harapan terpisah untuk permintaan tanpa unit dan permintaan jumlah positif. Tinjau kontrak kegagalan yang ada bersama pemanggil. Model tidak boleh mengarang penerima atau membagi dengan total tak terdefinisi hanya agar fungsi mengembalikan sesuatu.

Apakah contoh menentukan setiap kebijakan alokasi?

Contoh menentukan konteks peninjauan tertentu dengan unit utuh dan bobot nonnegatif. Jika aplikasi memiliki batas atas, minimum, atau prioritas lain, sertakan secara eksplisit. Periksa apakah perubahan usulan tetap menerapkan kebijakan yang dibutuhkan pengguna.

Unduh untuk Windows ↗

QuotaMosaic · Diperbarui 2026-10-25