Tugas yang diberikan ialah mengira bilangan semua rentetan binari panjang n tanpa berturut-turut.
Sistem nombor binari ialah sejenis teknologi perwakilan nombor. Ia paling popular dan digunakan dalam sistem digital. Sistem binari digunakan untuk mewakili kuantiti binari yang boleh diwakili oleh mana-mana peranti yang hanya mempunyai dua keadaan operasi atau keadaan yang mungkin. Sebagai contoh, suis hanya mempunyai dua keadaan: hidup atau mati.
Dalam sistem binari, hanya terdapat dua simbol atau kemungkinan nilai berangka, 0 dan 1. Mewakili keadaan operasi atau keadaan yang mungkin oleh mana-mana peranti dengan hanya 2. Rentetan binari ialah rentetan yang mengandungi nilai binari iaitu 0 atau 1
Sekarang mari kita gunakan contoh untuk memahami apa yang perlu kita lakukan -
Input - n = 2
Output - Tiada berturut-turut 2 Kiraan rentetan binari ialah: 3
Penjelasan - 00, 01, 10 Jadi hanya ada 3 rentetan binari panjang n dan tiada berturut-turut 1
input − n = 7
Input
strong> - Kiraan rentetan binari tanpa 1 berturut-turut dalam 7 ialah - 34Kaedah yang digunakan dalam program berikut adalah seperti berikut
#include<stdio.h> //create function to calculate binary strings without consecutive 1’s void count(int num){ int arr[num]; int arr_2[num]; int i=0, temp=0; arr[0] = arr_2[0] = 1; //loop till number isn't equals to 0 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("</p><p>"); } int main(){ //call the count function count(10); count(7); count(1); return 0; }
Output
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
Atas ialah kandungan terperinci Kira bilangan rentetan binari tanpa 1 berturut-turut dalam C. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!