Cho số n, đếm số nguyên từ 1 đến n chỉ chứa chữ số 0 và 1. Ví dụ n=15 → 3 (1, 10, 11).
Tạo các số bằng 0 và 1 dùng hàm đệ quy.
Ví dụ
#include<iostream> using namespace std; int numberOfValues(int p, int n) { if (p > n) return 0; return 1 + numberOfValues(p * 10, n) + numberOfValues(p * 10 + 1, n); } int main() { int n = 120; cout << "Number of values using 0s and 1s: " << numberOfValues(1, n); }
Kết quả
Number of values using 0s and 1s: 7