숫자 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