এখানে আমরা একটি আকর্ষণীয় সমস্যা দেখতে পাব, আমরা একটি জোড়া (x, y) খুঁজে পাব, যেখানে x এবং y সীমার মধ্যে তাই l <=x, y <=r, জোড়ার একটি বৈশিষ্ট্য থাকবে, x এর মান y ভাগ করে . যদি একাধিক জোড়া উপলব্ধ থাকে, তাহলে শুধুমাত্র একটি বেছে নিন।
আমরা O(1) সময়ে এই সমস্যাটি সমাধান করতে পারি, যদি আমরা নিম্ন সীমা l এবং 2l এর মান পাই। আমরা জানি যে y/x এর ক্ষুদ্রতম মান 2 হতে পারে, এবং যদি কিছু বড় মান পরিসরে উপস্থিত থাকে তবে 2 হবে পরিসরে। এবং যদি আমরা x বাড়াই, এটিও 2x বৃদ্ধি পাবে, তাই l এবং 2l হবে প্রদত্ত পরিসরে পড়ার জন্য সর্বনিম্ন জোড়া।
উদাহরণ
#include<iostream>
using namespace std;
void getPair(int l, int r) {
int x = l;
int y = 2 * l;
cout << "(" << x << ", " << y << ")" << endl;
}
int main() {
int l = 3, r = 6;
getPair(l, r);
} আউটপুট
(3, 6)