কম্পিউটার টিউটোরিয়াল

সিক্কাগুলো ত্রিভুজ আকারে সাজালে সর্বোচ্চ উচ্চতা কত? (C/C++ প্রোগ্রাম)


এই বিভাগে আমরা একটি মজার সমস্যা নিয়ে আলোচনা করব। N সংখ্যক সিক্কা দেওয়া আছে। আমাদের বের করতে হবে সিক্কাগুলো পিরামিড আকারে সাজালে সর্বোচ্চ কত উচ্চতা করা সম্ভব। এই পদ্ধতিতে প্রথম সারি ১টি সিক্কা ধারণ করবে, দ্বিতীয় সারি ২টি, তৃতীয় সারি ৩টি — এভাবে চলতে থাকবে।

সিক্কাগুলো ত্রিভুজ আকারে সাজালে সর্বোচ্চ উচ্চতা কত? (C/C++ প্রোগ্রাম)

উপরের ডায়াগ্রাম থেকে দেখা যাচ্ছে, ৩ স্তরের পিরামিড তৈরির জন্য কমপক্ষে ৬টি সিক্কা দরকার। ১০টি সিক্কা না পাওয়া পর্যন্ত ৪র্থ স্তর করা যাবে না। এখন দেখি সর্বোচ্চ উচ্চতা কীভাবে বের করা যায়।

সূত্র

উচ্চতা বের করার জন্য নিচের সূত্রটি ব্যবহার করা হয়:

সিক্কাগুলো ত্রিভুজ আকারে সাজালে সর্বোচ্চ উচ্চতা কত? (C/C++ প্রোগ্রাম)

উদাহরণ

#include <iostream>
#include <cmath>
using namespace std;

int getMaxHeight(int n) {
    int height = (-1 + sqrt(1 + 8 * n)) / 2;
    return height;
}

int main() {
    int N;
    cout << "Enter number of coins: ";
    cin >> N;
    cout << "Height of pyramid: " << getMaxHeight(N);
    return 0;
}

আউটপুট

Enter number of coins: 13
Height of pyramid: 4

  1. C/C++ প্রোগ্রাম: প্যারাবোলার ভার্টেক্স, ফোকাস এবং ডিরেকট্রিক্স বের করা

  2. C/C++ প্রোগ্রাম: ট্রায়্যাঙ্গুলার ম্যাচস্টিক সংখ্যা

  3. সিক্কাগুলো ত্রিভুজ আকারে সাজালে সর্বোচ্চ উচ্চতা কত? (C/C++ প্রোগ্রাম)

  4. কয়েন ত্রিভুজ আকারে সাজিয়ে সর্বোচ্চ উন্নতি বের করার পাইথন প্রোগ্রাম