Bosan dengan selalu bertanya-tanya berapa banyak lagi Pokémon yang perlu Anda tangkap untuk mendapatkan evolusi tingkat tinggi itu? Bertanya-tanya lagi! Sekarang Anda akan menulis program atau fungsi lengkap untuk menghitungnya untuk Anda!
Tantangan:
Sebagai masukan, program Anda akan menerima daftar biaya dalam permen untuk membuat Pokémon naik ke tingkat berikutnya. (Daftar ini dapat dipisahkan oleh pembatas pilihan Anda, atau sebagai argumen fungsi). Program Anda kemudian akan mengembalikan atau mencetak jumlah Pokemon yang harus ditangkap, termasuk yang akan berevolusi, untuk berevolusi melalui semua tingkatan yang diberikan.
Bagaimana Anda menghitung ini? Seperti itu:
1. Tambahkan semua biaya permen: 12 + 50 = 62
2. Kurangi 3 permen dari total, ini berasal dari satu Pokémon yang Anda simpan untuk berevolusi: 62 - 3 = 59
3. Bagi angka ini dengan 4 (3 untuk menangkap, 1 untuk memberikannya kepada Profesor), selalu ambil ceil()
hasilnya: ceil(59/4) = 15
4. Akhirnya, tambahkan 1 ke total ini untuk mendapatkan jumlah total Pokemon yang harus kamu tangkap, 16!
Contoh Input -> Output
:
[4] -> 2
[50] -> 13
[12, 50] -> 16
[25, 100] -> 32
[19, 35, 5, 200] -> 65
Kemenangan:
Aplikasi ini telah menghabiskan sebagian besar ruang di ponsel Anda, jadi program Anda harus sesingkat mungkin. Program atau fungsi lengkap dengan jumlah byte terkecil akan diterima dalam dua minggu! (dengan ikatan apa pun diselesaikan oleh entri yang paling awal dikirimkan!)
floor(Sum(L)/4)+1
? Rumus saat ini tidak berfungsi untuk jumlah yang habis dibagi 4. Misalnya [400]
akan mengembalikan 100, padahal kenyataannya harus 101 untuk tambahan untuk berkembang.