숫자 d와 상한 n이 있다고 가정합니다. 0에서 n까지의 범위에서 d를 포함하는 모든 숫자를 찾아야 합니다. 따라서 n =20이고 숫자가 3이면 숫자는 [3, 13]이 됩니다.
이 문제를 해결하기 위해 우리는 모든 숫자를 문자열로 받아들인 다음 문자열에 숫자가 있으면 숫자가 인쇄되고 그렇지 않으면 무시됩니다.
예시
#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);
} 출력
3 13 23 30 31 32 33 34 35 36 37 38 39 43 53 63 73 83 93