এই নিবন্ধে, আমরা N-এর থেকে কম বা সমান উপাদান এবং কিছু নির্দিষ্ট শর্ত মেনে সংখ্যার অনন্য জোড়া খুঁজে বের করার জন্য একটি প্রোগ্রাম নিয়ে আলোচনা করব -
-
দুটি সংখ্যার মধ্যে পার্থক্যের বর্গ অবশ্যই সেই দুটি সংখ্যার LCM এর সমান হতে হবে।
-
এই দুটি সংখ্যার HCF যেকোন দুটি পরপর সংখ্যার গুণফল হিসাবে উপস্থাপন করা যেতে পারে।
এই সমস্যা সমাধানের সর্বোত্তম পন্থা হবে পরপর দুটি সংখ্যা গ্রহণ করা (1 থেকে শুরু করে) এবং সেই সংখ্যার গুণফলের গুণিতক খুঁজে বের করা। তারপর গুণিতকগুলির মধ্যে, একটি জোড়া সংখ্যা নির্দিষ্ট করতে আমাদের পরীক্ষা করতে হবে যে জোড়ার সংখ্যাগুলি প্রথম প্রদত্ত শর্ত পূরণ করে কিনা৷
উদাহরণস্বরূপ, 2 এবং 3-এর ক্ষেত্রে ধরুন। তাদের গুণফল হবে 6। এখন যদি আমরা 6 এর গুণিতক নিয়ে যাই, আমরা 6, 12, 18, 24 পাব … একবারে দুটি সংখ্যা নিলে, আমরা পরীক্ষা করি কিনা পরপর দুটি সংখ্যার মধ্যে পার্থক্যের বর্গ (এই ক্ষেত্রে 36) সেই সংখ্যাগুলির LCM এর সমান। আমরা অবশেষে এই ক্ষেত্রে জুটি 12 এবং 18 হবে।
সমীকরণটি সাধারণীকরণ করে, আমরা দুটি সংখ্যা পেয়েছি Z * (Z*(Z+1)) এবং (Z+1) * (Z*(Z+1)) যেখানে Z হল HCF (পরপর জোড়া) প্রথম সংখ্যা পণ্য)।
অবশেষে শর্তটি ব্যবহার করে যে মানগুলি N এর চেয়ে কম হওয়া উচিত, আমরা পাই
(Z+1) * (Z*(Z+1)) <=N বা Z 3 + (2*Z 2 ) + Z <=N.
উদাহরণ
#include <iostream> using namespace std; int main() { int N = 489, pairs, i = 1; //counting the number of pairs having elements less than N while((i*i*i) + (2*i*i) + i <= N) { i++; } pairs = i; cout << "Pairs :" << endl; //printing the two elements of the pair for(int j = 1; j < pairs; j++) { cout << j*(j*(j+1)) << " " << (j+1)*(j*(j+1)) << endl; } return 0; }
আউটপুট
Pairs : 2 4 12 18 36 48 80 100 150 180 252 294 392 448