দেওয়া কাজ হল দৈর্ঘ্য n-এর সকল বাইনারি স্ট্রিং গণনা করা যাতে কোনো последователни ১ থাকে না।
বাইনারি নাম্বার সিস্টেম হল নম্বর রিপ্রেজেন্টেশন কৌশলগুলির একটি প্রকার। এটি ডিজিটাল সিস্টেমে সবচেয়ে জনপ্রিয় এবং ব্যবহৃত। বাইনারি সিস্টেম বাইনারি পরিমাণ রিপ্রেজেন্ট করতে ব্যবহৃত হয় যা যেকোনো ডিভাইস দ্বারা রিপ্রেজেন্ট করা যায় যাতে শুধু দুটি অপারেটিং স্টেট বা সম্ভাব্য কন্ডিশন থাকে। উদাহরণস্বরূপ, একটি সুইচের শুধু দুটি স্টেট থাকে: ওপেন বা ক্লোজ।
বাইনারি সিস্টেমে শুধু দুটি সিম্বল বা সম্ভাব্য ডিজিট ভ্যালু থাকে, অর্থাৎ ০ এবং ১। যেকোনো ডিভাইস যা শুধু ২ অপারেটিং স্টেট বা সম্ভাব্য কন্ডিশন دارد তা দ্বারা রিপ্রেজেন্ট করা যায়। বাইনারি স্ট্রিং হল সেই স্ট্রিংগুলো যাতে বাইনারি ভ্যালু থাকে অর্থাৎ ০ বা ১।
এখন একটি উদাহরণ দিয়ে বুঝি আমাদের কী করতে হবে −
ইনপুট − n = 2
আউটপুট − দৈর্ঘ্য ২-এর বাইনারি স্ট্রিং যাতে последователни ১ নেই তার সংখ্যা: ৩
ব্যাখ্যা − 00, 01, 10 তাই দৈর্ঘ্য n এবং কোনো последователни ১ ছাড়া মাত্র ৩টি বাইনারি স্ট্রিং রয়েছে
ইনপুট − n = 7
আউটপুট − দৈর্ঘ্য ৭-এর বাইনারি স্ট্রিং যাতে последователни ১ নেই তার সংখ্যা − ৩৪
নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতি নিম্নরূপ
স্ট্রিং দৈর্ঘ্যের জন্য n ইনপুট নেওয়া
count ফাংশনে সিকোয়েনশিয়াল ১ ছাড়া বাইনারি স্ট্রিং গণনা করব, সাইজ n-এর দুটি অ্যারে arr[] এবং arr_2 এবং রেজাল্ট স্টোর করার জন্য একটি temp ভেরিয়েবল ডিফাইন করব।
দুই অ্যারের 0th এলিমেন্টকে ১ করে দিব।
i=1 থেকে i
লুপের মধ্যে, arr[i] = arr[i-1]+arr_2[i-1] এবং arr_2[i] = arr[i-1] সেট করব।
temp = arr[n-1]+arr_2[n-1] সেট করব, এবং তারপর temp প্রিন্ট করব।
উদাহরণ
#include<stdio.h>
// последователни ১ ছাড়া বাইনারি স্ট্রিং গণনা করার ফাংশন
void count(int num){
int arr[num];
int arr_2[num];
int i=0, temp=0;
arr[0] = arr_2[0] = 1;
//লুপ চলবে যতক্ষণ না নাম্বার ০ হয়
for (i = 1; i < num; i++){
arr[i] = arr[i-1] + arr_2[i-1];
arr_2[i] = arr[i-1];
}
temp = arr[num-1] + arr_2[num-1];
printf("Count of binary strings without consecutive 1's of %d is : %d",num,temp);
printf("\n");
}
int main(){
// count ফাংশন কল
count(10);
count(7);
count(1);
return 0;
}
আউটপুট
উপরের কোড রান করলে নিচের আউটপুট मिलবে −
Count of binary strings without consecutive 1's of 10 is : 144 Count of binary strings without consecutive 1's of 7 is : 34 Count of binary strings without consecutive 1's of 1 is : 2