मान लीजिए कि हमारे पास n सिक्के हैं जिन्हें हम सीढ़ी के आकार में बनाना चाहते हैं, प्रत्येक k-वें पंक्ति में बिल्कुल k सिक्के होने चाहिए। इसलिए यदि हमारे पास n है, तो हमें उन पूर्ण सीढ़ी पंक्तियों की कुल संख्या ज्ञात करनी होगी जो बनाई जा सकती हैं।
इसलिए, यदि इनपुट 5 की तरह है, तो आउटपुट 2 होगा, क्योंकि 5 सिक्कों का उपयोग करके हम दो पूर्ण स्टारकेस पंक्तियाँ बना सकते हैं, अंतिम को तीन की आवश्यकता होती है, लेकिन हमें 2 बने रहना होगा -पी>
* ** **
यह इस सूत्र का उपयोग करके सीधे किया जा सकता है -
$$\frac{\sqrt{(8n+1)}-1}{2}$$
उदाहरण
आइए एक बेहतर समझ प्राप्त करने के लिए निम्नलिखित कार्यान्वयन देखें -
#include <bits/stdc++.h> using namespace std; class Solution { public: int arrangeCoins(int n) { return (sqrt(8*(long long)n+1)-1)/2; } }; main(){ Solution ob; cout << (ob.arrangeCoins(13)); }
इनपुट
13
आउटपुट
4