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

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


বিন্দু X এবং Y-এর মধ্যে n সংখ্যক মধ্যবর্তী ট্রেন স্টেশন আছে। ট্রেনগুলোকে s সংখ্যক স্টেশনে কতভাবে স্টপ করানো যায় যাতে কোনো দুটি স্টেশন পাশাপাশি না থাকে। এই আর্টিকেলে আমরা সকল সম্ভাব্য পদ্ধতি আলোচনা করব যাতে ট্রেন স্টপেজের সংখ্যা বের করা যায়। সমস্যাটি দেখে লাগে আমাদের কম্বিনেশন বের করতে হবে যাতে ট্রেনগুলো s সংখ্যক স্টেশনে স্টপ করতে পারে।

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

মান লইয়া যাক ৮টি মধ্যবর্তী স্টেশন আছে এবং আমাদের ৩টি স্টেশনে ট্রেন স্টপ করাতে হবে।

n = 8, s = 3

আমাদের কাছে (n - s) অর্থাৎ ৫টি স্টেশন আছে যেখান ট্রেন স্টপ করবে না,

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

এখানে A, B, C, D, E - এই ৫টি স্টেশনে ট্রেন স্টপ করবে না। এখন আমাদের কাছে ৬টি ডট্টেড জায়গা আছে যেখানে ৩টি স্টপেজ স্টেশন বসানো যাবে যাতে কোনো দুটি স্টেশন লগ কর না থাকে। তাই উপায় সংখ্যা হবে:

⁶C₃ = [fact(6) / fact(3)] / fact(3) = 6 * 5 * 4 / 3 * 2 * 1 = 20

X এবং Y বিন্দুর মধ্যে ৩টি স্টপেজ স্টেশন বসানোর ২০টি উপায় আছে। উদাহরণ:

ইনপুট : n = 15 s = 4
আউটপুট : 495
ইনপুট : n = 8 s = 3
আউটপুট : 20

উদাহরণ

#include<bits/stdc++.h> using namespace std; int main(){     int n = 8, s = 3;     int flag1 = 1, flag2 = 1, temp = s, ans;     // 'n-s+1' থেকে 's' পজিশন সিলেক্ট করা     int x = n - s + 1;     while (x != (n - 2 * s + 1)) {         flag1 = flag1 * x;         x--;     }     while (temp != 1) {         flag2 = flag2 * temp;         temp--;     }     ans = flag1 / flag2;     if ((n - s + 1) >= s)         cout << "Number of ways : " << ans;     else         cout << "not possible to find";     return 0; }

আউটপুট

Number of ways : 20

উপরোক্ত কোডের ব্যাখ্যা

এই C++ কোড বুঝতে আমরা সমাধানকে ধাপে ভাগ করতে পারি:

  • স্টেশনের সংখ্যা n এবং স্টপেজ স্টেশন s ইনপুট নেওয়া।

  • flag1 এবং flag2 ভেরিয়েবল ১ দিয়ে ইনিশিয়ালাইজ করা এবং s-র মান temp-এ রাখা।

  • flag1 হিসাব করা যা হচ্ছে লব [fact(n) - fact(r)]।

  • flag2 হিসাব করা যা হচ্ছে হর [fact(r)]।

  • ফলাফল প্রিন্ট করা।

উপসংহার

এই আর্টিকেলে আমরা সমাধান করেছি যে ট্রেনগুলো মধ্যবর্তী স্টেশনগুলোর কোনো দুটি লগ না করে s সংখ্যক স্টেশনে কতভাবে স্টপ করানো যায়। আমরা এই সমস্যার জন্য C++ প্রোগ্রাম এবং সমাধানের পূর্ণ পদ্ধতি শিখেছি। একই প্রোগ্রাম C, Java, Python বা অন্য ভাষায় লেখা যায়।


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

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

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

  4. C++ ব্যবহার করে PL/SQL-এ ফ্যাক্টোরিয়াল বের করা