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

C++에서 엄격하게 증가하는 모든 n자리 숫자 인쇄

<시간/>

이 문제에서는 숫자 N이 주어지고 모든 n자리 숫자를 출력해야 합니다. 그 숫자는 MSB에서 LSB로 급격히 증가합니다. 즉, LSB(왼쪽)의 숫자는 오른쪽의 숫자보다 작아야 합니다.

문제를 이해하기 위해 예를 들어 보겠습니다 -

입력 - n =2

출력 -

<이전>01 02 03 04 05 06 07 08 09 12 13 14 15 16 17 18 19 23 24 25 26 27 28 29 34 35 36 6 37 38 39 475 4 /사전>

설명 − 보시다시피 왼쪽의 모든 숫자는 오른쪽의 숫자보다 작습니다.

이 문제를 해결하기 위해 MSB(왼쪽)부터 하나씩 숫자로 시작하여 조건에 따라 숫자를 생성합니다. 다음 위치에는 i+1에서 9까지의 숫자가 포함되며, i는 현재 위치의 숫자입니다.

코드 로직을 구현하는 코드 -

#include namespace std;void printIncresingNumbers(int start, string out, int n) { if (n ==0){ cout< 

출력

 strictly intrictly insigretly insustly insust -012 016 015 016 016 014 016 016 017 014 016 016 017 014 016 016 017 045 016 016 017 018 016 027 028 018 016 027 028 049 016 035 038 049 056 057 058 059 067 068 069 078 079 089 123 124 125 126 138 136 149 167 168 149 167 168 169 178 167 168 169 178 167 168 169 178 167 237 238 248 249 256 257 258 259 267 268 269 278 279 289 345 346 347