সমস্যা বিবৃতি
একটি স্ট্রিং দেওয়া, একই স্ট্রিং পেতে আমাদের ন্যূনতম সংখ্যক ঘূর্ণন প্রয়োজন
উদাহরণ
যদি ইনপুট স্ট্রিং "bbbbb" হয় তাহলে ন্যূনতম 1টি ঘূর্ণন প্রয়োজন
অ্যালগরিদম
<পূর্ব>1. ইনিশিয়ালাইজ ফলাফল =02। একটি অস্থায়ী স্ট্রিং তৈরি করুন যা নিজের সাথে সংযুক্ত মূল স্ট্রিংয়ের সমান।3। দ্বিতীয় অক্ষর থেকে শুরু হওয়া অস্থায়ী স্ট্রিংয়ের আকারের অস্থায়ী স্ট্রিংয়ের সাবস্ট্রিং নিন, অর্থাৎ সূচী 14 থেকে শুরু করুন। কাউন্টার5 বৃদ্ধি করুন। সাবস্ট্রিংটি আসল স্ট্রিংয়ের সমান হয় কিনা তা পরীক্ষা করুন। যদি হ্যাঁ, তাহলে লুপ ভাঙ্গুন। অন্যথায় ধাপ 2 এ যান এবং পরবর্তী সূচী থেকে এটি পুনরাবৃত্তি করুনউদাহরণ
#includeনেমস্পেস ব্যবহার করে std;int getRotationCount(string str) { string temp =str + str; int n =str.length(); for (int i =1; i <=n; ++i) { string sub =temp.substr(i, str.size()); if (str ==sub) { রিটার্ন i; } } n;} int main() { string str ="bbbbb"; cout <<"ঘূর্ণন গণনা =" < যখন আপনি উপরের প্রোগ্রামটি কম্পাইল এবং এক্সিকিউট করবেন। এটি নিম্নলিখিত আউটপুট তৈরি করে
আউটপুট
ঘূর্ণন গণনা =1