책 내용 질문하기
알고리즘 풀이 질문해봅니다.
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
257,258
조회수
403
작성일
2019-02-13
작성자
탈퇴*원
첨부파일
1. 4번 정답이 1인데(N=1) K로(N=K) 적어도 정답처리 되는건가요? N=K로 대입해서 디버깅해도 잘 되더라구요.. 확인부탁드립니다. 2. 258페이지 우측 반복문에 Y가 1부터 C-1 즉 3까지 반복하는데, Y가 만일 3이되서 최종 문자를 출력하면 다시 Y가 4가되고 C-1과 같냐고 비교하여 거짓이되며 빠져나가나요? C언어의 IF문은 거짓이 되어 빠져나가는데 알고리즘의경우도 Y가 4가되어 거짓이 되어 빠져나가는지궁금합니다.. 아니면 3까지만 반복되고 조건을 묻지않고(Y가 증가되지않고) 빠져나가나요?
답변
2019-02-14 13:34:47

안녕하세요 길벗수험서 운영팀입니다.

 

1. [답변]

올바른 결과가 출력되지 않습니다.

입력받은 수가 소인수로 계속 나눠지는 n의 마지막 값(1이 되지 않는)과 k가 일치하는 경우에만 값이 출력되게 되는데, 이 때에도 마지막 k값이 출력되지 않아 정상적인 결과가 나오지 않습니다.

예를 들어 9를 입력하면 3만 출력되고, 18을 입력하면 2X3만 출력되게 되죠.

21, 15같은 수를 입력하게 되면 순서도 5번에서 11번 과정을 무한 반복하게 됩니다.

(n과 k가 일치하는 경우가 발생하지 않으므로)

 

2. [답변]

3이 맞습니다.

말씀하신 예와 같이 [반복   Y=1, 3, 1]과 같은 반복문이 있을 때 해당 반복문이 종료된 이후의 Y 값은 3이 됩니다.

순서도의 반복문이 프로그래밍 코드의 for문과는 다르다는 점 유념에 두시기 바랍니다.

 

행복한 하루 되세요 :)

  • 관리자
    2019-02-14 13:34:47

    안녕하세요 길벗수험서 운영팀입니다.

     

    1. [답변]

    올바른 결과가 출력되지 않습니다.

    입력받은 수가 소인수로 계속 나눠지는 n의 마지막 값(1이 되지 않는)과 k가 일치하는 경우에만 값이 출력되게 되는데, 이 때에도 마지막 k값이 출력되지 않아 정상적인 결과가 나오지 않습니다.

    예를 들어 9를 입력하면 3만 출력되고, 18을 입력하면 2X3만 출력되게 되죠.

    21, 15같은 수를 입력하게 되면 순서도 5번에서 11번 과정을 무한 반복하게 됩니다.

    (n과 k가 일치하는 경우가 발생하지 않으므로)

     

    2. [답변]

    3이 맞습니다.

    말씀하신 예와 같이 [반복   Y=1, 3, 1]과 같은 반복문이 있을 때 해당 반복문이 종료된 이후의 Y 값은 3이 됩니다.

    순서도의 반복문이 프로그래밍 코드의 for문과는 다르다는 점 유념에 두시기 바랍니다.

     

    행복한 하루 되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.