222~223쪽 순서도를 이해하려고해도 문제도 이해되지 않구, 답지와 해설을 봐도 1번을 제외한 2~5번이 모두 이해가 되질 않습니다.. 강의도 없는터라 너무 힘드네요.. M에 1000을 넣고 디버깅 해봐도 2번이 M%10이면 S(i) = A(k) 가
i가 0이니 어떻게 해야할지도 모르겠고, 왜 나머지를 k에 치환시키는지도 모르겠고, 3번에 M/10이 왜 이것인지도 모르겠고, 4번과 5번도 잘 이해되지 않습니다. 이 문제를 제외한 다른 모든 알고리즘은 잘 이해해서 모두 맞았는데 이번 알고리즘은 문제도 모르겠고, 어떻게 풀어야 할지 자체를 모르겠어요 ㅠㅠ 몇번째 섹션과 비슷한지도 감도 않오구요
도와주세요 ㅠㅠ
안녕하세요.
만일 1234라는 값이 입력되었다면 0번째 배열부터
A(0) = 4
A(1) = 3
A(2) = 2
A(3) = ,
A(4) = 1
432,1이 저장됩니다.
그런 다음 출력할 때는 마지막 위치에서 부터 A(0)까지 거꾸로 출력합니다.
또한 M%10의 과정은 배열에 값을 저장하기 위한 과정으로
(i+1) % 4에 의해 i가 0일 때 나머지가 1이 되므로 No가 되어 바로 아래쪽으로 처리를 수행합니다.
M/10에 의해 1234 / 10의 몫인 123이 다시 M에 저장되고 나머지인 4는 배열 A(0)에 저장됩니다.
그런 다음 i가 증가합니다.
위로 이동 후 M이 0이 아니므로 반복하여
(i+1) % 4에 의해 i가 1일 때 나머지가 2가 되므로 No가 되어 바로 아래쪽으로 처리를 수행합니다.
M/10에 의해 123 / 10의 몫인 12가 다시 M에 저장되고 나머지인 3은 배열 A(1)에 저장됩니다.
그런 다음 i가 증가합니다.
위로 이동 후 M이 0이 아니므로 다시 반복하여
(i+1) % 4에 의해 i가 2일 때 나머지가 3이 되므로 No가 되어 바로 아래쪽으로 처리를 수행합니다.
M/10에 의해 12 / 10의 몫인 1이 다시 M에 저장되고 나머지인 2는 배열 A(2)에 저장됩니다.
그런 다음 i가 증가합니다.
위로 이동 후 M이 0이 아니므로 다시 반복하여
(i+1) % 4에 의해 i가 3일 때 나머지가 0이 되므로 A(3)에 ,가 저장된 후 i가 증가합니다.
M/10에 의해 1 / 10의 몫인 0이 다시 M에 저장되고 나머지인 1은 배열 A(4)에 저장됩니다.
그런 다음 i가 증가합니다.
위로 이동 후 M이 0이므로 변환 과정을 끝내고 오른쪽의 출력 과정을 수행합니다.
현재 i가 5이므로
i=i-1에 의해 i는 4가 됩니다.
i >= 0 에서 Yes이므로 A(4), 즉 1을 출력합니다.
i=i-1에 의해 i는 3이 됩니다.
반복하여
i >= 0 에서 Yes이므로 A(3), 즉 ,를 출력합니다.
i=i-1에 의해 i는 2가 됩니다.
반복하여
i >= 0 에서 Yes이므로 A(2), 즉 2를 출력합니다.
i=i-1에 의해 i는 1이 됩니다.
반복하여
i >= 0 에서 Yes이므로 A(1), 즉 3을 출력합니다.
i=i-1에 의해 i는 0이 됩니다.
반복하여
i >= 0 에서 Yes이므로 A(0), 즉 4을 출력합니다.
i=i-1에 의해 i는 -1이 됩니다.
반복하여
i >= 0 에서 No이므로 종료됩니다.
오늘도 즐거운 하루 되세요.
-
*2018-01-09 09:18:43
안녕하세요.
만일 1234라는 값이 입력되었다면 0번째 배열부터
A(0) = 4
A(1) = 3
A(2) = 2
A(3) = ,
A(4) = 1
432,1이 저장됩니다.
그런 다음 출력할 때는 마지막 위치에서 부터 A(0)까지 거꾸로 출력합니다.
또한 M%10의 과정은 배열에 값을 저장하기 위한 과정으로
(i+1) % 4에 의해 i가 0일 때 나머지가 1이 되므로 No가 되어 바로 아래쪽으로 처리를 수행합니다.
M/10에 의해 1234 / 10의 몫인 123이 다시 M에 저장되고 나머지인 4는 배열 A(0)에 저장됩니다.
그런 다음 i가 증가합니다.
위로 이동 후 M이 0이 아니므로 반복하여
(i+1) % 4에 의해 i가 1일 때 나머지가 2가 되므로 No가 되어 바로 아래쪽으로 처리를 수행합니다.
M/10에 의해 123 / 10의 몫인 12가 다시 M에 저장되고 나머지인 3은 배열 A(1)에 저장됩니다.
그런 다음 i가 증가합니다.
위로 이동 후 M이 0이 아니므로 다시 반복하여
(i+1) % 4에 의해 i가 2일 때 나머지가 3이 되므로 No가 되어 바로 아래쪽으로 처리를 수행합니다.
M/10에 의해 12 / 10의 몫인 1이 다시 M에 저장되고 나머지인 2는 배열 A(2)에 저장됩니다.
그런 다음 i가 증가합니다.
위로 이동 후 M이 0이 아니므로 다시 반복하여
(i+1) % 4에 의해 i가 3일 때 나머지가 0이 되므로 A(3)에 ,가 저장된 후 i가 증가합니다.
M/10에 의해 1 / 10의 몫인 0이 다시 M에 저장되고 나머지인 1은 배열 A(4)에 저장됩니다.
그런 다음 i가 증가합니다.
위로 이동 후 M이 0이므로 변환 과정을 끝내고 오른쪽의 출력 과정을 수행합니다.
현재 i가 5이므로
i=i-1에 의해 i는 4가 됩니다.
i >= 0 에서 Yes이므로 A(4), 즉 1을 출력합니다.
i=i-1에 의해 i는 3이 됩니다.
반복하여
i >= 0 에서 Yes이므로 A(3), 즉 ,를 출력합니다.
i=i-1에 의해 i는 2가 됩니다.
반복하여
i >= 0 에서 Yes이므로 A(2), 즉 2를 출력합니다.
i=i-1에 의해 i는 1이 됩니다.
반복하여
i >= 0 에서 Yes이므로 A(1), 즉 3을 출력합니다.
i=i-1에 의해 i는 0이 됩니다.
반복하여
i >= 0 에서 Yes이므로 A(0), 즉 4을 출력합니다.
i=i-1에 의해 i는 -1이 됩니다.
반복하여
i >= 0 에서 No이므로 종료됩니다.
오늘도 즐거운 하루 되세요.