কম্পিউটার টিউটোরিয়াল

C++-এ দেওয়া সমীকরণের জন্য পজিটিভ ইন্টিজার সমাধান বের করা


ধরুন আমাদের একটি ফাংশন f আছে যা দুটি প্যারামিটার (x, y) নেয়। আমাদের x এবং y-এর সব পেয়ার রিটার্ন করতে হবে যেগুলোর জন্য f(x, y) = z। z ইনপুট হিসেবে দেওয়া আছে, এবং x, y পজিটিভ ইন্টিজার। ফাংশনটি কনস্ট্যান্টলি ইনক্রিজিং ফাংশন। তাই f(x, y) < f(x + 1, y) এবং f(x, y) < f(x, y + 1)।

এটি সমাধানের জন্য আমরা স্ট্রেইট-ফরওয়ার্ড পদ্ধতি अपনাব। i রেঞ্জ 1 থেকে 1000, এবং j রেঞ্জ 1 থেকে 1000, i,j-এর সব কম্বিনেশনের জন্য, যদি f(i, j) = 0 হয়, তবে true রিটার্ন করব, অন্যথায় false।

ফাংশন আইডি (যেটি প্রদান করা উচিত) ১ হল অডিশনের জন্য, ২ হল মাল্টিপ্লিকেশনের জন্য। এটি z ভ্যালুও নেয়।

উদাহরণ

বুঝতে নিচের ইমপ্লিমেন্টেশনটি দেখুন −

#include <bits/stdc++.h> using namespace std; void print_vector(vector<vector<int> > v){    cout << "[";       for(int i = 0; i<v.size(); i++){          cout << "[";             for(int j = 0; j <v[i].size(); j++){                cout << v[i][j] << ", ";             }             cout << "],";       }       cout << "]"<<endl; } class CustomFunction {    int id;    public:    CustomFunction(int id){       this->id = id;    }    int f(int x, int y){       if(id == 1)          return y + x;       else if(id == 2)          return y * x;       return 0;    } }; class Solution {    public:    vector<vector<int>> findSolution(CustomFunction& c, int z) {       vector  < vector <int > > ans;       for(int i = 1; i <= 1000; i++ ){          for(int j = 1; j <= 1000; j++){             if(c.f(i,j) == z){                vector <int> t;                t.push_back(i);                t.push_back(j);                ans.push_back(t);             }          }       }       return ans;    } }; main(){    Solution ob;    CustomFunction c(1);    print_vector(ob.findSolution(c, 7)); }

ইনপুট

1 7

আউটপুট

[[1, 6, ],[2, 5, ],[3, 4, ],[4, 3, ],[5, 2, ],[6, 1, ],]

  1. C++-এ X = P*A + Q*B সমীকরণের জন্য মিনিমাম পজিটিভ ইন্টিজার X বের করা

  2. সি++ প্রোগ্রাম: সর্টেড অ্যারেতে দেওয়া মান থেকে kটি নিকটতম উপাদান খুঁজে বের করা

  3. দেওয়া পার্থক্যের সাথে একটি জোড়া খুঁজে বের করা C++-এ

  4. C++-এ অ্যারে উপাদানগুলির ফ্যাক্টোরিয়ালের GCD বের করা