Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 숫자 d를 포함하는 숫자 찾기

<시간/>

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