এই সমস্যায় আমাদের একটি সংখ্যা দেওয়া হয়েছে। আমাদের কাজ হল 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