Interviewstreet memiliki CodeSprint kedua pada bulan Januari yang mencakup pertanyaan di bawah ini. Jawaban terprogram diposting tetapi tidak termasuk penjelasan statistik.
(Anda dapat melihat masalah asli dan memposting solusi dengan masuk ke situs web Interviewstreet dengan kredibilitas Google dan kemudian membuka masalah Coin Tosses dari halaman ini .)
Tosses Koin
Anda memiliki koin yang tidak bias yang ingin Anda terus lempar sampai Anda mendapatkan N kepala berturut-turut. Anda telah melemparkan koin M kali dan secara mengejutkan, semua lemparan menghasilkan kepala.
Berapa jumlah lemparan tambahan yang diharapkan yang dibutuhkan sampai Anda mendapatkan N kepala berturut-turut?
Input:
Baris pertama berisi jumlah kasus T. Masing-masing baris T berikutnya berisi dua angka N dan M.
Keluaran:
Garis T keluaran yang berisi jawaban untuk test case yang sesuai. Cetak jawaban dibulatkan hingga tepat 2 angka desimal.
Input Sampel:
4
2 0
2 1
3 3
3 2
Contoh Hasil:
6.00
4.00
0.00
8.00
Contoh Penjelasan:
Jika N = 2 dan M = 0, Anda harus terus melempar koin sampai Anda mendapatkan 2 kepala berturut-turut. Tidak sulit untuk menunjukkan bahwa rata-rata, 6 lemparan koin diperlukan.
Jika N = 2 dan M = 1, Anda perlu 2 kepala berturut-turut dan sudah memiliki 1. Anda harus melemparkan sekali lagi apa pun yang terjadi. Dalam lemparan pertama itu, jika Anda mendapatkan kepala, Anda selesai. Jika tidak, Anda harus memulai dari awal, karena penghitung ulang berurutan mereset, dan Anda harus terus melempar koin sampai Anda mendapatkan N = 2 kepala berturut-turut. Jumlah lemparan koin yang diharapkan adalah 1 + (0,5 * 0 + 0,5 * 6) = 4,0 Jika N = 3 dan M = 3, Anda sudah mendapatkan 3 kepala, jadi Anda tidak perlu lagi melemparkan.
Semua persamaan matematika yang saya buat memiliki jawaban yang tepat untuk data input sampel yang tercantum di atas, tetapi salah untuk semua set input lainnya (yang tidak diketahui). Solusi terprogram mereka tampaknya memecahkan masalah jauh berbeda dari metode coba-untuk-datang-dengan-persamaan-saya. Bisakah seseorang tolong jelaskan bagaimana menghasilkan persamaan yang akan menyelesaikan ini?