কম্পিউটার

C++ এ 4 এবং 7 দিয়ে তৈরি সংখ্যার মধ্যে প্রদত্ত সংখ্যার অবস্থান খুঁজুন


এই সমস্যায় আমাদের একটি সংখ্যা দেওয়া হয়েছে। আমাদের কাজ হল 4 এবং 7 দিয়ে তৈরি সংখ্যার মধ্যে প্রদত্ত সংখ্যার অবস্থান খুঁজে বের করা। শুধুমাত্র 4 এবং 7 নিয়ে গঠিত সিরিজটি হল 4, 7, 44, 47, 74, 77, 444….

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

ইনপুট

N = 5

আউটপুট

74

ব্যাখ্যা

Series upto 5 terms is 4, 7, 44, 47, 74…

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

সমস্যার একটি সহজ সমাধান সিরিজের প্যাটার্ন খোঁজার উপর ভিত্তি করে।

এখানে, প্রতিটি জোড় অবস্থানের শেষে 7 থাকে।

এবং প্রতিটি বিজোড় অবস্থানের শেষে 4টি থাকে৷

সুতরাং, আমরা ডিজিট দ্বারা অঙ্কে গিয়ে এবং বর্তমান অঙ্কের উপর ভিত্তি করে অবস্থান খুঁজে বের করার মাধ্যমে সিরিজটি খুঁজে পেতে পারি।

বর্তমান সংখ্যা 4 হলে, অবস্থানটি অবস্থান =(অবস্থান*2) + 1 হিসাবে আপডেট করা হবে।

বর্তমান সংখ্যা 7 হলে, অবস্থানটি অবস্থান =(অবস্থান*2) + 2 হিসাবে আপডেট করা হবে।

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

উদাহরণ

#include <iostream>
using namespace std;
int findNumPosition(string num){
   int i = 0, position = 0;
   while (num[i] != '\0') {
      position *= 2;
      if(num[i] == '4')
         position += 1;
      else
         position += 2;
      i++;
   }
   return position;
}
int main() {
   string num = "74774";
   cout<<"The position of the number in the series is "<<findNumPosition(num);
   return 0;
}

আউটপুট

The position of the number in the series is 53

  1. C++ ব্যবহার করে ফুটবলে পেন্টাগন এবং হেক্সাগনের সংখ্যা খুঁজুন

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

  3. n সংখ্যার GCD এবং LCM খুঁজতে C++ প্রোগ্রাম

  4. তিনটি সংখ্যার মধ্যে সবচেয়ে বড় সংখ্যা খুঁজে পেতে C++ প্রোগ্রাম