Latar Belakang:
Saya sering menemukan bahwa, ketika menjelajahi situs Stackexchange, saya mulai bertanya-tanya bagaimana orang mendapatkan jumlah reputasi yang mereka miliki. Saya tahu saya selalu dapat mengandalkan codegolf SE untuk menyelesaikan masalah saya, jadi ini dia:
Buat program yang akan menerima bilangan bulat positif yang mewakili reputasi seseorang. Kami akan mengabaikan karunia, dan mengatakan bahwa ini adalah satu-satunya cara untuk mendapatkan / kehilangan perwakilan di SE (tabel lengkap di sini ):
- Setiap akun dimulai dengan 1 rep dan tidak bisa pergi di bawah itu
- Pertanyaan Anda ter-upgrade = +5
- Jawaban Anda dibatalkan = +10
- Pertanyaan Anda diturunkan = -2
- Jawaban Anda diturunkan = -2
- Anda menurunkan jawaban = -1
- Jawaban Anda diterima = +15
- Anda menerima jawaban = +2
Program Anda harus mencari tahu berapa banyak tindakan yang terjadi pada akun pengguna tersebut untuk mencapai rep yang mereka miliki. Itu harus mencari tahu jumlah tindakan terpendek untuk sampai ke tingkat rep. Contoh:
Input: 11 Output: 1 jawaban upvote
Input: 93 Output: 6 jawaban diterima, 1 jawaban diterima
Dalam contoh-contoh ini ketika saya mengatakan 'pertanyaan meningkat', itu berarti bahwa pencarian seseorang menjadi terangkat. Ketika saya mengatakan 'jawab downvoted', itu berarti mereka downvoted jawaban orang lain.
Aturan:
kode-golf , jadi kode terpendek yang dapat melakukan ini akan menang.