আমাদের একটি সিকোয়েন্স জেনারেটর আছে যা 1 দিয়ে শুরু হয়। প্রতিটি ধাপে 0 হয়ে যায় 10 এবং 1টি 01 হয়ে যায়। তাই পরপর ধাপে নিম্নলিখিত পরিবর্তনগুলি ঘটবে −
ধাপ 1 − 01
ধাপ 2 − 1001
ধাপ 3 − 01101001 ……
লক্ষ্য হল একটি নির্দিষ্ট সংখ্যক ধাপের জন্য পরপর 0 এর জোড়ার সংখ্যা খুঁজে বের করা।
যদি ইনপুট ধাপটি 0’s - 0 এর 1 জোড়া হয়, ইনপুট ধাপটি 0’s - 1 এর 2 জোড়া হয়, ইনপুট ধাপটি 0’s 1 এর 3 জোড়া হয়
পদক্ষেপ 4৷ − 1001011001101001
ধাপ 5 − 01101001100101101001011001101001
আমরা লক্ষ্য করতে পারি যে ক্রম 2 এর শক্তিতে বৃদ্ধি পাচ্ছে এবং দৈর্ঘ্য 12 এর পরে এবং প্রতি 12টি অক্ষরের জন্য পুনরাবৃত্তি হচ্ছে। সুতরাং, এই 12টি দৈর্ঘ্যের ক্রমগুলিতে পরপর 0 এর 2 জোড়া আছে৷
ধাপের জন্য 12 দৈর্ঘ্যের প্যাটার্নের S সংখ্যা হবে 2S /12
পরপর 2টি প্যাটার্নের সংখ্যা =1 (প্রাথমিক) + 2 X S (বাকী 12টি দৈর্ঘ্যের পুনরাবৃত্তির জন্য)
আসুন উদাহরণ দিয়ে বুঝতে পারি।
ইনপুট − ধাপ =5
আউটপুট − পরপর শূন্যের জোড়ার সংখ্যা হল −5
ব্যাখ্যা − 5ম ধাপে উপরে ক্রম দেখানো হয়েছে −
Step 5: 01101001100101101001011001101001 Number of pairs of 0’s is 5. Also with formula : tmp=25 /12= 32/12 = 2, pairs=1+ 2 x 2 = 5
ইনপুট − ধাপ =10
আউটপুট − পরপর শূন্যের জোড়ার সংখ্যা হল − 171
ব্যাখ্যা − সূত্র সহ − tmp=210/12=1024/12 =85, জোড়া=1+ 2 x 85 =171
নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতিটি নিম্নরূপ
আমরা ইনপুট হিসাবে ধাপের সংখ্যা নেব এবং পরীক্ষা করব ধাপ =1 তাহলে পরপর 0 এর জোড়ার সংখ্যা 0। যদি ধাপ =2 বা 3 হয় তাহলে এই ধরনের জোড়ার সংখ্যা 1 হবে।
অন্যথায়, tmp=2input/12 এবং জোড়া=1+2*tmp সূত্র ব্যবহার করে গণনা করুন।
-
ধাপের জন্য ইনপুট হিসাবে একটি পরিবর্তনশীল দশমিক নিন।
-
ফাংশন Zero_pairs(int decimal) দশমিক নেয় এবং সেই ধাপের জন্য পরপর শূন্য জোড়ার সংখ্যা প্রদান করে।
-
0 হিসাবে প্রাথমিক গণনা নিন।
-
দশমিক<=1 হলে, 0 ফেরত দিন।
-
যদি দশমিক==2 বা দশমিক==3। তারপর 1 ফেরত দিন।
-
অন্যথায় temp=(pow(2, decimal))/12 গণনা করুন এবং 2*temp + 1 হিসাবে গণনা করুন।
-
ফলাফল হিসাবে রিটার্ন গণনা।
উদাহরণ
#include<bits/stdc++.h> using namespace std; int Zero_pairs(int decimal){ int count = 0; if(decimal <=1){ count = 0; } else if(decimal == 2 || decimal == 3){ count = 1; } else{ int temp = (pow(2, decimal) / 12); count = 2 * temp + 1; } return count; } int main(){ int decimal = 7; cout<<"Count of Pairs Of Consecutive Zeros are: "<<Zero_pairs(decimal); return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেCount of Pairs Of Consecutive Zeros are: 21