Diberikan:
- Sejumlah alami S .
- Daftar bobot rasional W yang menjumlahkan ke 1.
Kembalikan daftar L dari N bilangan bulat non-negatif, sehingga:
(1) sum(L) = S
(2) sum((S⋅W_i - L_i)^2) is minimal
Dengan kata lain, perkiraan S⋅W_i
s dengan bilangan bulat sedekat mungkin.
Contoh:
1 [0.4 0.3 0.3] = [1 0 0]
3 [0 1 0] = [0 3 0]
4 [0.3 0.4 0.3] = [1 2 1]
5 [0.3 0.4 0.3] = [2 2 1] or [1 2 2] but not [1 3 1]
21 [0.3 0.2 0.5] = [6 4 11]
5 [0.1 0.2 0.3 0.4] = [1 1 1 2] or [0 1 2 2]
4 [0.11 0.3 0.59] = [1 1 2]
10 [0.47 0.47 0.06] = [5 5 0]
10 [0.43 0.43 0.14] = [4 4 2]
11 [0.43 0.43 0.14] = [5 5 1]
Aturan:
- Anda dapat menggunakan format input apa pun, atau hanya menyediakan fungsi yang menerima input sebagai argumen.
Latar Belakang:
Masalah ini muncul ketika menampilkan S dari berbagai jenis item dalam proporsi berbeda W i berkaitan dengan jenis.
Contoh lain dari masalah ini adalah perwakilan politik proporsional, lihat paradoks pembagian . Dua kasus uji terakhir dikenal sebagai Alabama paradox.
Sebagai ahli statistik, saya mengenali masalah ini sebagai setara dengan masalah yang ditemukan dalam mengidentifikasi ukuran sampel ketika melakukan sampel bertingkat. Dalam situasi itu, kami ingin membuat proporsi setiap strata dalam sampel sama dengan proporsi setiap strata dalam populasi. - @tomi
round(A + B) != round(A) + round(B)
, solusi singkat memerlukan wawasan tentang apa yang terjadi di sini.
L[i] - S*W[i]
kuadrat, bukannya aturan 2 dan aturan 3. Ini akan mendekati S*W[i]
.
[0 1 2 2]
merupakan solusi lain yang mungkin untuk5 [0.1 0.2 0.3 0.4]