ধরুন আমাদের একটি ফাংশন f আছে যা দুটি প্যারামিটার (x, y) নেয়। আমাদের x এবং y এর সমস্ত জোড়া ফেরত দিতে হবে, যার জন্য f(x, y) =z। z ইনপুট হিসাবে দেওয়া হয়, এবং x, y ধনাত্মক পূর্ণসংখ্যা। ফাংশন ক্রমাগত ফাংশন বৃদ্ধি করা হয়. সুতরাং f(x, y)
এটি সমাধান করার জন্য আমরা সোজা-আগামী পদ্ধতির সঞ্চালন করব। i,j-এর সমস্ত সংমিশ্রণের জন্য 1 থেকে 1000 রেঞ্জে i নিন এবং j-কে 1 থেকে 1000 রেঞ্জে নিন, যদি f(i, j) =0 হয়, তাহলে সত্য ফেরত দিন, অন্যথায় মিথ্যা।
ফাংশন আইডি বিবেচনা করুন (প্রদান করা উচিত) যোগের জন্য 1, গুণের জন্য 2। এটি z মানও নেয়।
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
#includeনেমস্পেস ব্যবহার করে std;void print_vector(vector > v){ cout <<"["; for(int i =0; i id =id; } int f(int x, int y){ if(id ==1) রিটার্ন y + x; অন্যথায় যদি (id ==2) y * x ফেরত দেয়; রিটার্ন 0; }};ক্লাস সলিউশন { পাবলিক:ভেক্টর<ভেক্টর >ফাইন্ডসলিউশন(কাস্টম ফাংশন&c, int z) { ভেক্টর <ভেক্টর > উত্তর; for(int i =1; i <=1000; i++ ){ for(int j =1; j <=1000; j++){ if(c.f(i,j) ==z){ ভেক্টর t; t.push_back(i); t.push_back(j); ans.push_back(t); } } } উত্তর দিন; }};প্রধান(){সমাধান ob; কাস্টম ফাংশন c(1); print_vector(ob.findSolution(c, 7));}
ইনপুট
17