কম্পিউটার

C++ এ কয়েন সাজানো


ধরুন আমাদের কাছে 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

  1. C++ এ রেফারেন্স_র্যাপার

  2. C++ এ এনক্যাপসুলেশন

  3. C++ এ শনাক্তকারী

  4. লিনাক্সে C++ এর সেরা IDE কি?