Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Đếm chuỗi nhị phân không có 1 liên tiếp trong C/C++

Cho n, đếm số chuỗi nhị phân độ dài n không có hai bit 1 liên tiếp.

Quy hoạch động: a[i] = số chuỗi độ dài i kết thúc bằng 0, b[i] = kết thúc bằng 1.

a[i] = a[i-1] + b[i-1], b[i] = a[i-1].

Chương trình C++ ví dụ

#include <iostream>
using namespace std;

int noConsecutiveOnes(int n) {
    int a[n], b[n];
    a[0]=1; b[0]=1;
    for (int i=1;i

Kết quả

8