책 내용 질문하기
261p문의 합니다.
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
261
조회수
240
작성일
2019-01-21
작성자
탈퇴*원
첨부파일
261p 문제10번에서 2번은 왜 C-1인가요?
답변
2019-01-23 10:30:47

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

 

질문주실 때, 회원님이 생각하신 것도 같이 알려주시면 좀더 구체적인 답변이 가능할 것 같습니다.

(예를 들어, 왜 C가 아니라 C-1이 들어가나요? 또는 2번에 5를 넣어도 답이 되나요? 정도)

 

2번 빈칸이 있는 for문과 그 아래 printf문까지는 소인수분해한 결과를 출력합니다.

위의 while문에서 입력한 정수(n)를 소인수 분해할 때 마다 변수 c에 1씩 더하여(해설579p 8번), 소인수 분해된 수를 저장할 배열의 위치를 지정하였습니다.

 

6을 넣었다고 가정하겠습니다. 그럼 배열 s[0]에는 2가, s[1]에는 3이 들어가고 c는 1이됩니다.

이때 for문을 수행하면 s[0]인 2와 X를 출력합니다. (2X)

for문이 종료된 후 그 아래 printf문까지 출력하게 되면 (2X3)이 되겠네요.

 

해설의 14,15번 줄만 실행하여 출력하지 않은 것은 'X'표시를 중간에만 표시해주기 위한 것입니다.

만약 16번 줄을 지우고, 14번에서 C-1이 아닌 C까지 출력하였다면 '2X3X'가 출력되어 버리죠.

 

행복한 하루 되세요 :)

  • 관리자
    2019-01-23 10:30:47

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

     

    질문주실 때, 회원님이 생각하신 것도 같이 알려주시면 좀더 구체적인 답변이 가능할 것 같습니다.

    (예를 들어, 왜 C가 아니라 C-1이 들어가나요? 또는 2번에 5를 넣어도 답이 되나요? 정도)

     

    2번 빈칸이 있는 for문과 그 아래 printf문까지는 소인수분해한 결과를 출력합니다.

    위의 while문에서 입력한 정수(n)를 소인수 분해할 때 마다 변수 c에 1씩 더하여(해설579p 8번), 소인수 분해된 수를 저장할 배열의 위치를 지정하였습니다.

     

    6을 넣었다고 가정하겠습니다. 그럼 배열 s[0]에는 2가, s[1]에는 3이 들어가고 c는 1이됩니다.

    이때 for문을 수행하면 s[0]인 2와 X를 출력합니다. (2X)

    for문이 종료된 후 그 아래 printf문까지 출력하게 되면 (2X3)이 되겠네요.

     

    해설의 14,15번 줄만 실행하여 출력하지 않은 것은 'X'표시를 중간에만 표시해주기 위한 것입니다.

    만약 16번 줄을 지우고, 14번에서 C-1이 아닌 C까지 출력하였다면 '2X3X'가 출력되어 버리죠.

     

    행복한 하루 되세요 :)

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