aruru18   6달 전

i는 i개의 자릿수를 의미하고, j는 시작수를 의미합니다.

num[i][j]는 i개의 자릿수중 j로 시작하는 수의 오르막 수의 개수를 뜻합니다.

9로 시작하는 모든 수는 몇자리수든지 무조건 1개이므로 num[i][9] = 1이 성립하고 

배열을 그린 후 j를 9에서 0으로 가면서 식을 더했습니다. 손으로 검토도 해보고 예제도 넣어봐서 어디서 틀렸는지 감이 오지않습니다.

또, 5번째 줄 'int num[1001][10] = {1,};'에서 컴파일을 해보니 배열에 모두 0이 들어가있고 1이 안들어가있길래, 

for(i = 1; i<=N;i++)
     for(j = 0; j<10; j++)
          num[i][j] = 1;

를 넣어줬습니다.

왜 배열이 1로 초기화 되지 않았는지역시 모르겠습니다.

rhdqor213   6달 전

15번째 줄에 mod 연산을 해주세요. 그리고 int num[1001][10] = {1,}; 의 뜻은 num[0][0]은 1로 초기화, 나머지는 전부 0으로 초기화입니다.

aruru18   6달 전

배열 초기화에 대해서 잘못알고 있었네요.

많은 도움됬어요~

댓글을 작성하려면 로그인해야 합니다.