একটি সমস্যা আলোচনা করব যেখানে আমাদের একটি A.P.-এর (Arithmetic Progression) m এবং n টার্মের সমের রেশিও দেওয়া আছে। আমাদের m-তম এবং n-তম টার্মের রেশিও বের করতে হবে।
Input: m = 8, n = 4 Output: 2.142 Input: m = 3, n = 2 Output: 1.666 Input: m = 7, n = 3 Output: 2.6
সমাধানের পদ্ধতি
কোড ব্যবহার করে m-তম এবং n-তম টার্মের রেশিও বের করতে, আমাদের সূত্রটি সিম্পলিফাই (simplify) করতে হবে। Sm হোক প্রথম m টার্মের সম এবং Sn হোক প্রথম n টার্মের সম।
a - প্রথম টার্ম,
d - সাধারণ পার্থক্য (common difference),
দেওয়া, Sm / Sn = m2 / n2
S-এর সূত্র, Sm = (m/2)[ 2*a + (m-1)*d ]
m2 / n2 = (m/2)[ 2*a + (m-1)*d ] / (n/2)[ 2*a + (n-1)*d ]
m / n = [ 2*a +(m-1) *d ] / [ 2*a +(m-1) *d ]
ক্রস মাল্টিপ্লিকেশন (cross multiplication) ব্যবহার করে,
n[ 2*a + (m−1)*d ] = m[ 2*a + (n−1)*d ]
2an + mnd - nd = 2am + mnd - md
2an - 2am = nd - md
(n - m)2a = (n-m)d
d = 2a
m-তম টার্মের সূত্র হলো,
Tm = a + (m-1)d
m-তম এবং n-তম টার্মের রেশিও হলো,
Tm / Tn = a + (m-1)d / a + (n-1)d
d কে 2a দিয়ে রিপ্লেস করলে,
Tm / Tn = a + (m-1)*2a / a + (n-1)*2a
Tm / Tn = a( 1 + 2m − 2 ) / a( 1 + 2n − 2 )
Tm / Tn = 2m - 1 / 2n - 1
তাহলে এখন m-তম এবং n-তম টার্মের রেশিও বের করার একটি সিম্পল সূত্র পেয়েছি। C++ কোডটি দেখি।
উদাহরণ
উপরোক্ত পদ্ধতির জন্য C++ কোড
#include <bits/stdc++.h> using namespace std; int main(){ float m = 8, n = 4; // সূত্র প্রয়োগ করে রেশিও ক্যালকুলেট করুন। float result = (2 * m - 1) / (2 * n - 1); cout << "The Ratio of mth and nth term is: " << result; return 0; }
আউটপুট
The ratio of mth and nth term is: 2.14286
উপসংহার
এই টিউটোরিয়ালে, আমরা একটি সমস্যা আলোচনা করেছি: দেওয়া সমের রেশিও থেকে m-তম এবং n-তম টার্মের রেশিও বের করা, যা আমরা m টার্মের সমের সূত্র এবং m-তম টার্মের সূত্র সিম্পলিফাই করে সমাধান করেছি। আমরা এই সমস্যার জন্য C++ প্রোগ্রামও আলোচনা করেছি যা আমরা C, Java, Python ইত্যাদি প্রোগ্রামিং ভাষায়ও করতে পারি। আশা করি আপনি এই টিউটোরিয়ালটিকে উপকারী পাবেন।