주어진 작업은 연속된 문자열 없이 길이가 n인 모든 이진 문자열의 개수를 세는 것입니다.
이진법은 숫자 표현 기술의 일종입니다. 디지털 시스템에서 가장 널리 사용되고 사용됩니다. 이진 시스템은 두 가지 작동 상태 또는 가능한 조건만 있는 모든 장치로 표시할 수 있는 이진 수량을 나타내는 데 사용됩니다. 예를 들어 스위치에는 켜짐 또는 꺼짐이라는 두 가지 상태만 있습니다.
이진법에는 0과 1이라는 두 가지 기호 또는 숫자 값만 있습니다. 2개만으로 모든 장치의 작동 상태 또는 가능한 조건을 나타냅니다. 이진 문자열은 이진 값, 즉 0 또는 1을 포함하는 문자열입니다.
이제 우리가 해야 할 일을 이해하기 위해 예를 사용하겠습니다. -
Input - n = 2
Output - 연속되는 1이 없습니다. 2 이진 문자열의 개수는 다음과 같습니다: 3
Explanation - 00, 01, 10 따라서 길이가 n인 이진 문자열은 3개만 있고 연속적인 1
input − n = 7
output
입력 Strong> - 7에서 연속된 1이 없는 이진 문자열의 개수는 - 34
n을 입력하여 문자열 길이를 나타냅니다
개수에 함수를 사용하면 연속된 1이 없는 이진 문자열을 계산하고 크기 n의 두 배열 arr[] 및 arr_2와 저장을 위한 변수 temp를 정의합니다.
두 배열의 0번째 요소를 1
루핑 시작 i=1부터 I가 n보다 작을 때까지.
루프에서 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> //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; }
위 코드를 실행하면 다음과 같은 출력을 얻게 됩니다. -
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
위 내용은 C에서 연속된 1이 없는 이진 문자열의 개수 계산의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!