Saya perhatikan bahwa odometer mobil saya berada di 101101 ketika saya mulai bekerja hari ini. Yang merupakan angka keren karena biner (dan palindrom, tapi itu tidak penting). Sekarang, saya ingin tahu kapan waktu berikutnya saya akan membaca biner odometer. Saya tidak dapat membaca odometer saat mengemudi, karena itu akan berbahaya, jadi harus berupa biner ketika saya mulai bekerja atau pulang.
Ada lalu lintas yang sangat buruk dalam perjalanan ke dan dari kantor saya, jadi saya harus mengambil rute yang berbeda setiap hari.
Untuk keperluan tantangan ini, satu hari adalah perjalanan pulang pergi dan dimulai dengan perjalanan saya untuk bekerja.
Anda harus mengambil pembacaan awal odometer dan urutan 10 elemen yang mewakili jumlah mil setiap jalan. Urutan ini harus diulang sampai Anda mendapatkan pembacaan odometer biner. Anda kemudian harus menampilkan jumlah hari yang diperlukan sampai kita mendapatkan pembacaan biner.
Baik jarak tempuh untuk rute dan pembacaan odometer akan menjadi bilangan bulat positif. Hitungan hari akan menjadi x
atau x.5
, jadi output Anda dari hitungan hari perlu mendukung floating point selama setengah hari. Jika hitungan hari adalah bilangan bulat, Anda tidak perlu menampilkan .0
. Odometer pada akhirnya akan selalu mencapai status biner.
Segala bentuk input / output dapat diterima dan celah standar tidak diizinkan.
Kasus uji:
101101, [27, 27, 27, 27, 27, 27, 27, 27, 27, 27] == 165.0
1, [13, 25, 3, 4, 10, 8, 92, 3, 3, 100] == 22.5
2, [2, 3, 1, 2, 7, 6, 10, 92, 3, 7] == 2.0