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

Chương trình C++ tìm các số chứa chữ số d trong khoảng 0 đến n

Cho chữ số d và giới hạn trên n. Tìm tất cả số chứa d trong khoảng 0 đến n. Ví dụ n=20, d=3 thì kết quả [3, 13].

Giải pháp: chuyển mỗi số thành chuỗi, nếu chuỗi chứa ký tự d thì in ra, ngược lại bỏ qua.

Ví dụ mã nguồn

#include <iostream>
using namespace std;

int getAllNumWithDigit(int n, int d) {
    string str = "";
    str += to_string(d);
    char ch = str[0];
    string p = "";
    p += ch;
    for (int i = 0; i <= n; i++) {
        str = "";
        str = str + to_string(i);
        int index = str.find(p);
        if (i == d || index != -1)
            cout << (i) << " ";
    }
}

int main() {
    int n = 100;
    int d = 3;
    getAllNumWithDigit(n, d);
}

Kết quả đầu ra

3 13 23 30 31 32 33 34 35 36 37 38 39 43 53 63 73 83 93