কম্পিউটার

C++ এ বিকল্প পদ্ধতিতে ডানে এবং বামে N পদক্ষেপ নেওয়ার পরে অবস্থান করুন


এই সমস্যায়, আমাদের তিনটি পূর্ণসংখ্যা N, A এবং B দেওয়া হয়েছে। সেখানে একজন ব্যক্তি আছেন যিনি স্থানাঙ্ক 0 চালে দাঁড়িয়ে আছেন

ডান দিকে একটি ধাপ এবং তারপর B বাম দিকে ধাপ করুন . তারপর আবার ডান. আমাদের কাজ হল N সরানোর পর উপাদানটির চূড়ান্ত অবস্থান প্রিন্ট করা।

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

ইনপুট − N =4, A =3, B =1

আউটপুট

ব্যাখ্যা

1st move -> right 3, +3
2nd move -> left 1, -1
3rd move -> right 3, +3
4th move -> left 1, -1.
Position after 4 moves, +3-1+3-1 = 4.

এই সমস্যা সমাধানের জন্য, আমাদের ব্যক্তির দ্বারা নেওয়া মোট পদক্ষেপগুলি খুঁজে বের করতে হবে, ডান পদক্ষেপগুলিকে ইতিবাচকভাবে এবং বাম পদক্ষেপগুলি নেতিবাচকভাবে গ্রহণ করতে হবে। সমস্ত বিজোড় চাল ডানে নেওয়া হয় এবং জোড় চালগুলি বামে নেওয়া হয়৷

গৃহীত মোট পদক্ষেপগুলি সূত্র দ্বারা গণনা করা হবে,

Steps = [((n+1)/2)*a - (n/2)*b]

উদাহরণ

আমাদের সমাধানের একটি দৃষ্টান্ত দেখানোর জন্য প্রোগ্রাম,

#include <iostream>
using namespace std;
void finalPosition(int n, int a, int b) {
   int steps = {((n + 1)/2)*a - (n/2)*b};
   cout<<steps;
}
int main() {
   int N=4, A=3, B=1;
   cout<<"The final position of the person after "<<N<<" steps is ";
   finalPosition(N,A,B);
   return 0;
}

আউটপুট

The final position of the person after 4 steps is 4

  1. C++ এ T সেকেন্ডের পর ব্যাঙের অবস্থান

  2. C/C++ এ Left Shift এবং Right Shift অপারেটর

  3. অগ্রাধিকার এবং সহযোগীতা সহ C++ অপারেটর

  4. C++ এ অপারেটরদের অগ্রাধিকার