কম্পিউটার

C++ তে একই সংখ্যক লাফ দেওয়ার পরে দু'জন লোকের দেখা হয় কিনা তা খুঁজুন


এই সমস্যায়, আমাদের চারটি পূর্ণসংখ্যা দেওয়া হয়েছে যা সূচনা বিন্দু এবং দৌড়ে প্রতিটি দ্বারা নেওয়া লাফগুলি নির্দেশ করে। আমাদের কাজ হল দুইজন লোক একই সংখ্যক লাফের পরে মিলিত হয়েছে কিনা তা খুঁজে বের করা।

সমস্যা বর্ণনা: এখানে, p1 এবং p2 বিন্দু থেকে শুরু হওয়া দুজন ব্যক্তি j1 এবং j2 লাফ দিচ্ছেন কিনা তা আমাদের পরীক্ষা করতে হবে।

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,

ইনপুট: p1 =5, p2 =9, j1 =4, j2 =2

আউটপুট: হ্যাঁ

ব্যাখ্যা:

প্রথম লাফের পরে, p1 =9, p2 =11
দ্বিতীয় লাফের পরে, p1 =13, p2 =13

সমাধান পদ্ধতি:

কোনো কোনো সময়ে সাক্ষাতের জন্য উভয় লোককে বিভিন্ন দূরত্বে লাফ দিতে হবে। এখানে কিছু শর্ত রয়েছে যা মানুষের সাথে দেখা সম্ভব কিনা তা পরীক্ষা করার জন্য পূরণ করতে হবে,

যদি p1> p2 হয় তাহলে s1 s2 এর থেকে কম হওয়া দরকার।

এবং ( (p2 - p1) % (s1 - s2) ) ==0

তাহলে মিটিং সম্ভব অন্যথায় সম্ভব নয়।

আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,

উদাহরণ

#include<iostream>
using namespace std;

bool WillMeet(int p1, int j1, int p2, int j2){

   return ( (j1 > j2 && ( ((p2 - p1) % (j1 - j2)) == 0)) || (j2 > j1 && ( ((p1 - p2) % (j2 - j1)) == 0)) );
}

int main() {
   
   int p1 = 5, j1 = 4, p2 = 9, j2 = 2;
   if(WillMeet(p1, j1, p2, j2))
      cout<<"Both will meet at some point";
   else
      cout<<"Both will not meet at any point";
   
   return 0;
}

আউটপুট

Both will meet at some point

  1. আগের সংখ্যাটি C++ এ 1 এর পরিপূরকের মতো

  2. C++ এ শূন্য থেকে সংখ্যা রেখায় X এ পৌঁছানোর জন্য লাফের সংখ্যা খুঁজুন

  3. একটি সংখ্যা দুটির শক্তি কিনা তা খুঁজে বের করার জন্য C++ প্রোগ্রাম?

  4. পাইথনের দুটি ভিন্ন শহরে একই সংখ্যক লোক পাঠানোর জন্য সর্বনিম্ন খরচ খুঁজে বের করার প্রোগ্রাম