Problem
गगनचुंबी इमारत में n
मंजिलें हैं। यह ज्ञात है कि यदि आप फर्श संख्या p
से एक कांच की गेंद गिराते हैं और गेंद टूट जाती है, तो यदि आप मंजिल संख्या p+1
से एक गेंद गिराते हैं, तो वह भी टूट जाएगी . यह भी ज्ञात है कि जब अंतिम मंजिल से फेंका जाता है तो गेंद हमेशा टूट जाती है।
आप न्यूनतम मंजिल संख्या निर्धारित करना चाहते हैं जिससे गेंद गिरने पर टूट जाए। प्रयोगों के लिए, आपके पास दो गेंदें हैं। आप उन सभी को विभाजित कर सकते हैं, लेकिन अंतिम परिणाम में आपको उस संख्या के बारे में पूरी तरह निश्चित होना चाहिए।
निर्धारित करें कि इस समस्या को हल करने के लिए कितने थ्रो पर्याप्त हैं।
इनपुट
कार्यक्रम गगनचुंबी इमारत n में मंजिलों की संख्या इनपुट के रूप में प्राप्त करता है।
आउटपुट
थ्रो की सबसे छोटी संख्या को प्रिंट करने की आवश्यकता होती है, जिस पर समस्या को हल करना हमेशा संभव होता है।
ध्यान दें
पहले उदाहरण पर टिप्पणी करें। आपको दूसरी मंजिल से गेंद फेंकने की जरूरत है। यदि यह टूट जाता है, तो हम दूसरी गेंद को पहली मंजिल से फेंकेंगे, और यदि यह नहीं टूटती है, तो हम तीसरी मंजिल से गेंद फेंकेंगे।
संकेत
1. यदि केवल एक ही गेंद हो तो आपको क्या करना चाहिए?
2. मान लीजिए कि दो गेंदें हैं और हमने एक गेंद k
मंजिल से फेंकी है। गेंद टूटती है या नहीं, इसके आधार पर हम कैसे कार्य करेंगे?
3. यदि गगनचुंबी इमारत में n
मंजिलें हों, तो f(n)
वांछित मंजिल निर्धारित करने के लिए आवश्यक थ्रो की न्यूनतम संख्या होने दें। f(n)
को छोटे a
के f(a)
मानों के संदर्भ में व्यक्त करें।
मान
उदाहरण
<टेबल क्लास = "टेबल-एसएम टेबल-बॉर्डर टेबल-स्ट्राइप्ड टेबल-लिस्ट-टेस्ट">
<सिर>
<थ वर्ग = "अंक"> # वें>
<वें>इनपुटवें>
<वें>आउटपुटवें>
बात>
<शरीर>
1 |
4 |
2 |
2 |
7 |
3 |
टेबल>
Запрещенные операторы: for
; while
; until