এখানে আমরা একটি আকর্ষণীয় সমস্যা দেখতে পাব, আমরা একটি জোড়া (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)