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

C++ দিয়ে N চলে (Moves) পর ত্রিভুজের সংখ্যা বের করা

এই আর্টিকেলে, প্রথমে আমাদের একটি রঙিন ত্রিভুজ আঁকতে হবে। আমরা একটি অরঙিন ত্রিভুজ নেব এবং এটিকে চারটি ছোট সমবাহু ত্রিভুজে ভাগ করব। সমান আয়তনের এই ত্রিভুজগুলোতে একই প্রক্রিয়া n-তম ধাপ পর্যন্ত চালিয়ে যাব এবং আকৃতিতে মোট কতগুলো সমবাহু ত্রিভুজ আছে তা বের করব।

সমাধানের পদ্ধতি

এই সমাধানের দুটি পদ্ধতি রয়েছে −

ব্রুট ফোর্স পদ্ধতি

আমরা পর্যবেক্ষণ করতে পারি যে প্রতিটি ধাপে ত্রিভুজের সংখ্যা একটি নির্দিষ্ট নিয়মে বেড়ে (৩ × পূর্ববর্তী_সংখ্যা + ২)। তাই আমরা n পর্যন্ত লুপ চালিয়ে ত্রিভুজের সংখ্যা গণনা করতে পারি।

উদাহরণ
#include <iostream> using namespace std; int main() {     int n = 2; // অপারেশন সংখ্যা     int count = 1; // শুরুতে শুধু একটি ত্রিভুজ     for(int i = 0; i < n; i++) { // n পর্যন্ত লুপ       count = 3 * count + 2; // ৩ × পূর্ববর্তী + ২     }     cout << count << "\n"; }
আউটপুট
17

উপরোক্ত প্রোগ্রামটির টাইম কমপ্লেক্সিটি O(N), যেখানে N হলো অপারেশন সংখ্যা। এখন আমরা এর টাইম কমপ্লেক্সিটি আরও উন্নত করতে পারি যা উচ্চ কনস্ট্রেইন্টের জন্য খুব সহায়ক হবে।

দক্ষ পদ্ধতি

এই পদ্ধতিতে, আমরা একটি সূত্র তৈরি করব যা সরাসরি উত্তর দেবে।

উদাহরণ
#include <bits/stdc++.h> using namespace std; int main() {     int n = 2; // অপারেশন সংখ্যা     int count;     count = 2 * (pow(3, n)) - 1; // n-তম চলে মোট ত্রিভুজ     cout << count << "\n"; }
আউটপুট
17

উপরোক্ত কোডটির টাইম কমপ্লেক্সিটি O(log N), যেখানে N হলো চলে সংখ্যা।

কোডের ব্যাখ্যা

দেওয়া প্রোগ্রামে, আমরা বسطে প্রক্রিয়া থেকে একটি সূত্র তৈরি করেছি এবং প্রয়োজনীয় মানগুলো সূত্রে বসিয়ে ফলাফল প্রিন্ট করেছি।

উপসংহার

এই আর্টিকেলে আমরা কিছু পর্যবেক্ষণ এবং গণিত প্রয়োগ করে N চলে পর ত্রিভুজের সংখ্যা বের করেছি। আমরা এই সমস্যার C++ প্রোগ্রাম এবং দুটি পদ্ধতি (সহজ ও দক্ষ) দেখেছি। একই প্রোগ্রাম C, Java, Python ইত্যাদি ভাষায়ও লিখা যায়। আশা করি আপনি এই আর্টিকেলটি সহায়ক পাবেন।

  1. C++ ব্যবহার করে পেন্টাগোনাল পিরামিডাল সংখ্যা নির্ণয় করুন

  2. C++ দিয়ে একটি স্ট্রিংয়ের সাবস্ট্রিং-এর সংখ্যা বের করা

  3. C++-এ ট্রেন স্টপেজ স্টেশন সংখ্যা বের করুন

  4. C++-এ সেটে রিফ্লেক্সিভ রিলেশন সংখ্যা বের করুন