이 알고리즘에서 i=0으로 하고
밑에 1번 보기에는 i+1 % 4=0이라는 조건문으로 되어있는데
밑으로 순서도를 따라가다 보면 i는 1이 되어서 no로 빠져 k에 나머지로 A()에 있는 123456789 나머지값을 마지막수부터 S(1)에 차례로 넣는 과정을 한후 i=i+1을 해줌으로
i는 2가 됩니다.
그후 다시 돌아가서 1번보기인 i+1을 하면 2+1 즉 3 %4=0의 조건문이 되는데 이거 문제가 잘못된거 아닌가요?
2번째 자리인 2%4를 no로 빠지고 똑같이 S(2) 값에 2번째 K값을 넣어야하는데 3으로 넘어가잖아요
위에 i=1로 초기선언 하고 1번의 보기 답은 i가 맞지 않나요??
아니면 맨밑에 i=i+1을 없애야 정상계산이 되지 않나요?
안녕하세요 길벗수험서 운영팀입니다.
중간에 i가 1이 되는 지점이 어딘지 이해할 수 없습니다.
위 이미지를 참고하면서 봐주세요.
1. k=0, i=0 입니다.
2. a[10] 배열에 a[0]=0, a[1]=1.... a[9]=9 까지 저장됩니다.
3. m은 1234가 입력되었다고 가정합니다.
4. 1234=0 이 되므로 No로 빠집니다.
5. i+1은 1이고, 2%4는 2입니다. 즉, 2=0은 no이므로 8번으로 갑니다.
(여기서 i의 값은 변화하지 않습니다. 마름모는 조건문일뿐, 사각형에서 수를 대입하는 i=i+1과 다릅니다.)
8. k=1234%10 이 되므로, k에는 4가 저장됩니다.
9. s[0]=a[4]가 되므로 s[0]에는 4가 저장됩니다.
10. m=1234/10 이므로, m=123이 됩니다.
(<처리조건>에서 나누기는 정수만을 구한다고 했으니 소수점은 버림처리합니다.)
11. i에 1을 더해 i=1이 됩니다.
이 과정을 4~11까지 2회 더 반복하게 되면
i는 3이 되고, m은 1이 되며, s[0]=4, s[1]=3, s[2]=2가 저장된 상태가 됩니다.
이제 4번째(4~11을 3회 수행한 다음) 수행을 위해 4번부터 시작하게 되면,
4. 1=0 이 거짓이므로 No로
5. i+1은 4이고, 4%4는 0이므로 0=0이되어 Yes로 갑니다.
6. s[3]에는 ","가 저장되고,
7. i에는 1이 더해집니다. i=4
8. k=1%10이 되어, k에는 1이 저장됩니다.
9. s[4]=a[1]이 되어 s[4]=1이 되고,
10. m은 1/10이 저장되어 m=0이 되고,
11. i=5가 됩니다.
5회째
4. m=0이 되므로 Yes로 넘어가 출력을 진행하게 되겠네요.
위 과정을 살펴보시고 이해되지 않는 부분을 구체적으로 질문해주세요.
행복한 하루되세요 :)
-
관리자2019-09-05 10:16:13
안녕하세요 길벗수험서 운영팀입니다.
중간에 i가 1이 되는 지점이 어딘지 이해할 수 없습니다.
위 이미지를 참고하면서 봐주세요.
1. k=0, i=0 입니다.
2. a[10] 배열에 a[0]=0, a[1]=1.... a[9]=9 까지 저장됩니다.
3. m은 1234가 입력되었다고 가정합니다.
4. 1234=0 이 되므로 No로 빠집니다.
5. i+1은 1이고, 2%4는 2입니다. 즉, 2=0은 no이므로 8번으로 갑니다.
(여기서 i의 값은 변화하지 않습니다. 마름모는 조건문일뿐, 사각형에서 수를 대입하는 i=i+1과 다릅니다.)
8. k=1234%10 이 되므로, k에는 4가 저장됩니다.
9. s[0]=a[4]가 되므로 s[0]에는 4가 저장됩니다.
10. m=1234/10 이므로, m=123이 됩니다.
(<처리조건>에서 나누기는 정수만을 구한다고 했으니 소수점은 버림처리합니다.)
11. i에 1을 더해 i=1이 됩니다.
이 과정을 4~11까지 2회 더 반복하게 되면
i는 3이 되고, m은 1이 되며, s[0]=4, s[1]=3, s[2]=2가 저장된 상태가 됩니다.
이제 4번째(4~11을 3회 수행한 다음) 수행을 위해 4번부터 시작하게 되면,
4. 1=0 이 거짓이므로 No로
5. i+1은 4이고, 4%4는 0이므로 0=0이되어 Yes로 갑니다.
6. s[3]에는 ","가 저장되고,
7. i에는 1이 더해집니다. i=4
8. k=1%10이 되어, k에는 1이 저장됩니다.
9. s[4]=a[1]이 되어 s[4]=1이 되고,
10. m은 1/10이 저장되어 m=0이 되고,
11. i=5가 됩니다.
5회째
4. m=0이 되므로 Yes로 넘어가 출력을 진행하게 되겠네요.
위 과정을 살펴보시고 이해되지 않는 부분을 구체적으로 질문해주세요.
행복한 하루되세요 :)