pengantar
Dengan serangkaian persentase pilihan dalam jajak pendapat, hitung jumlah pemilih minimum yang harus ada dalam jajak pendapat untuk menghasilkan statistik tersebut.
Contoh: Apa peliharaan kesayangan Anda?
- Anjing:
44.4%
- Kucing:
44.4%
- Mouse:
11.1%
Output: 9
(minimum yang mungkin # dari pemilih)
Spesifikasi
Berikut persyaratan untuk program / fungsi Anda:
- Anda diberi array nilai persentase sebagai input (pada stdin, sebagai argumen fungsi, dll.)
- Setiap nilai persentase adalah angka yang dibulatkan ke satu tempat desimal (misalnya,
44.4 44.4 11.1
). - Hitung jumlah pemilih minimum yang mungkin dalam jajak pendapat yang hasilnya akan menghasilkan persentase yang tepat ketika dibulatkan ke satu tempat desimal (pada stdout, atau nilai pengembalian fungsi).
- Bonus : -15 karakter jika Anda dapat menyelesaikan dengan cara "non-sepele" (yaitu, tidak melibatkan iterasi melalui setiap # pemilih yang mungkin sampai Anda menemukan yang pertama yang berfungsi)
Contoh
>./pollreverse 44.4 44.4 11.1
9
>./pollreverse 26.7 53.3 20.0
15
>./pollreverse 48.4 13.7 21.6 6.5 9.8
153
>./pollreverse 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 99.6
2000
>./pollreverse 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 98.7
667
>./pollreverse 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 98.7
2000
>./pollreverse 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 97.8
401
Mencetak gol
Ini adalah kode-golf, sehingga karakter terpendek yang mungkin menang. Bonus apa pun dikurangi lebih lanjut dari jumlah karakter total.
0.5%
dari total, dan setiap kali ada pembulatan ke atas, Anda menambahkan hingga 0.5%
total. Empat kasus uji terakhir sengaja dibuat untuk mengeksploitasi fenomena ini secara optimal. Dalam kasus uji pertama yang menghasilkan 2000
, masing-masing dari 9 entri pertama mewakili 1
suara (dan semuanya dibulatkan 0.5%
), sedangkan yang terakhir mewakili 1991
suara (dan dibulatkan ke bawah ~ 0.5%
). Jika Anda menghitung persentase tersebut secara manual dan membulatkan ke 1 tempat desimal, Anda akan melihat semuanya benar.
26.7 53.3 20.0
(4 8 3 dari 15),48.4 13.7 21.6 6.5 9.8
(74 21 33 10 15 dari 153) dll.