책 내용 질문하기
1권 페이지 243쪽 문제
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
243
조회수
127
작성일
2017-09-12
작성자
탈퇴*원
첨부파일

4장 예상문제은행 1번 문제가 해설을 봐도 좀처럼 이해가 가지 않습니다..

왜 do 명령문에서 N 값이 4부터 시작하는지, 왜 do 명령문이 하나 더 있어야 하는지,

문제 전체를 이해를 못하겠습니다.

혹시 초보자를 위해서 아주 쉽게 설명해 주실 수 있으신가요?

답변
2017-09-13 09:25:22

안녕하세요.

문제는 4부터 1000까지의 정수 중 문제에서 요구한 조건을 만족하는 정수를 찾는 문제입니다.

우선 확인대상 자료를 4부터 1000까지 1씩 증가하면서 작업을 반복해야 하므로

바깥쪽 반복문(do)은 N = 4, 1000, 1이 됩니다.

또한

처리조건에서 최대의 약수에 대한 설명을 어떤 수의 절반값이라고 했으므로

N을 2로 나눈 값을 K에 저장해 K까지만 N의 약수를 구하는 작업을 수행하면 됩니다.

그래서 안쪽 반복문(do)은

J = 1, k, 1이 되어 J를 1부터 K까지 1씩 증가시키면서

약수인지 구하는 과정(MOD(N, J)를 구행하여 MOD(N, J)의 값, 즉 R에 저장된 값이 0이면 약수이므로

그 값을 SUM에 누적시킨 후

바깥쪽 반복문이 한 번 수행될 때마다 그 때까지 구해진 약수의 합인 SUM과 현재 처리중인 N의 값이 같은지 확인합니다.

같으면 문제에서 요구한 조건에 맞는 것이므로 그 값을 출력하고 그러한 값들의 개수(LM)을 누적한 후

다음 N의 값을 확이하는 과정을 반복하게 됩니다.

오늘도 즐거운 하루 되세요.

  • *
    2017-09-13 09:25:22

    안녕하세요.

    문제는 4부터 1000까지의 정수 중 문제에서 요구한 조건을 만족하는 정수를 찾는 문제입니다.

    우선 확인대상 자료를 4부터 1000까지 1씩 증가하면서 작업을 반복해야 하므로

    바깥쪽 반복문(do)은 N = 4, 1000, 1이 됩니다.

    또한

    처리조건에서 최대의 약수에 대한 설명을 어떤 수의 절반값이라고 했으므로

    N을 2로 나눈 값을 K에 저장해 K까지만 N의 약수를 구하는 작업을 수행하면 됩니다.

    그래서 안쪽 반복문(do)은

    J = 1, k, 1이 되어 J를 1부터 K까지 1씩 증가시키면서

    약수인지 구하는 과정(MOD(N, J)를 구행하여 MOD(N, J)의 값, 즉 R에 저장된 값이 0이면 약수이므로

    그 값을 SUM에 누적시킨 후

    바깥쪽 반복문이 한 번 수행될 때마다 그 때까지 구해진 약수의 합인 SUM과 현재 처리중인 N의 값이 같은지 확인합니다.

    같으면 문제에서 요구한 조건에 맞는 것이므로 그 값을 출력하고 그러한 값들의 개수(LM)을 누적한 후

    다음 N의 값을 확이하는 과정을 반복하게 됩니다.

    오늘도 즐거운 하루 되세요.

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