Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm số lượng các số nguyên từ 1 đến n chứa các chữ số 0 và 1 chỉ trong C ++

Giả sử, chúng ta có một số n. Nhiệm vụ của chúng ta là tìm số lượng các số nguyên từ 1 đến n chỉ chứa các chữ số 0 và 1. Vì vậy, nếu n =15, thì đầu ra sẽ là. Vì các số là 1, 10, 11

Để giải quyết vấn đề này, chúng ta sẽ tạo các số nguyên sử dụng các số 0 và 1 bằng cách sử dụng hàm đệ quy. Đoạn mã sau sẽ giúp chúng tôi hiểu điều này tốt hơn.

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);
}

Đầu ra

Number of values using 0s and 1s: 7