Có thể code trong C/C++ như sau để tính số xâu nhị phân có 000 hoặc 1111:
#include <bits/stdc++.h> using namespace std; int main() { const int maxx = 50; int n; int B[3][maxx]; cout << "Do dai xau nhi phan n = "; cin >> n; // Do dai la 1. B[0][1] = 1; B[1][1] = 1; //Do dai la 2. B[0][2] = 2; B[1][2] = 2; //Do dai la 3. B[0][3] = 3; B[1][3] = 4; for (int i = 4; i <= n; i++) { B[0][i] = B[1][i - 1] + B[1][i - 2]; B[1][i] = B[0][i - 1] + B[0][i - 2] + B[0][i - 3]; } cout << "So xau do dai " << n <<" la " << pow(2, n) - B[0][n] - B[1][n]; return 0; }