C/C++ Program to Count number of binary strings without consecutive 1’s

Given a positive integer N, count all possible distinct binary strings of length N such that there are no consecutive 1’s.

Examples:

Input: N = 2 Output: 3 // The 3 strings are 00, 01, 10 Input: N = 3 Output: 5 // The 5 strings are 000, 001, 010, 100, 101

##
Recommended: Please solve it on “__PRACTICE__ ” first, before moving on to the solution.

__PRACTICE__## C++

`// C++ program to count all distinct binary strings ` `// without two consecutive 1's ` `#include <iostream> ` `using` `namespace` `std; ` ` ` `int` `countStrings(` `int` `n) ` `{ ` ` ` `int` `a[n], b[n]; ` ` ` `a[0] = b[0] = 1; ` ` ` `for` `(` `int` `i = 1; i < n; i++) { ` ` ` `a[i] = a[i - 1] + b[i - 1]; ` ` ` `b[i] = a[i - 1]; ` ` ` `} ` ` ` `return` `a[n - 1] + b[n - 1]; ` `} ` ` ` `// Driver program to test above functions ` `int` `main() ` `{ ` ` ` `cout << countStrings(3) << endl; ` ` ` `return` `0; ` `}` |

**Output:**

5

Please refer complete article on Count number of binary strings without consecutive 1’s for more details!