Problem

5 /10


pencakar langit

Problem

Pencakar langit mempunyai n tingkat. Adalah diketahui bahawa jika anda menjatuhkan bola kaca dari nombor lantai p dan bola itu pecah, maka jika anda menjatuhkan bola dari nombor lantai p+1, ia juga akan pecah . Ia juga diketahui bahawa apabila dibaling dari tingkat terakhir, bola sentiasa pecah.
 
Anda ingin menentukan nombor lantai minimum yang akan menyebabkan bola pecah apabila ia jatuh. Untuk eksperimen, anda mempunyai dua bola. Anda boleh membahagikan kesemuanya, tetapi anda mesti benar-benar pasti dengan nombor itu dalam hasil akhirnya.
 
Tentukan bilangan balingan yang cukup untuk menyelesaikan masalah ini.
 
Input
Atur cara menerima sebagai input bilangan tingkat di bangunan pencakar langit n.
 
Output
Diperlukan untuk mencetak bilangan lontaran terkecil, di mana ia sentiasa mungkin untuk menyelesaikan masalah.
 
Nota
Ulas pada contoh pertama. Anda perlu membaling bola dari tingkat 2. Jika ia pecah, maka kami akan membaling bola kedua dari tingkat 1, dan jika ia tidak pecah, maka kami akan membaling bola dari tingkat 3.
 
Petua
1. Apakah yang perlu anda lakukan jika terdapat hanya satu bola?
2. Biarkan ada dua bola dan kami telah membaling satu bola dari nombor lantai k. Bagaimanakah kita akan bertindak bergantung pada sama ada bola pecah atau tidak?
3. Biarkan f(n) menjadi bilangan lontaran minimum yang diperlukan untuk menentukan lantai yang diingini jika bangunan pencakar langit itu mempunyai lantai n. Nyatakan f(n) dari segi nilai f(a) untuk nilai a yang lebih kecil.
 
Contoh

# Input Output
1 4 2
2 7 3