책 내용 질문하기
정보처리기사 실기 질문입니다.
도서
[2014] 정보처리기사 실기(산업기사 포함)
페이지
조회수
192
작성일
2014-04-15
작성자
첨부파일

어떤 정수의 모든 약수 중 자신을 제외한 약수를 모두 합하면 자신과 같아지는 수가 있다.

예를 들어 6의 약수 1, 2, 3, 6 중 6을 제외한 1, 2, 3을 더하면 6이 되어 자신과 같아진다.

다음 그림은 4부터 1000까지의 정수 중 이러한 약수를 갖는 수를 찾아 출력하고 또한 그 개수를 구하여 출력하는 알고리즘이다.

<그림>의 괄호 안 내용에 가장 적합한 항목을 <답항 보기>에서 선택하여 해당 번호 (1)~(5)에 마크하시오.

사용하는 변수는 다음과 같다.

- LM : 자신을 제외한 약수의 합이 자신과 같은 수의 개수를 구하는 변수 - N, J, R : 계산 처리를 위한 변수

- K : 어떤 수의 모든 약수에서 자신을 제외한 약수 중 최대값 - SUM : 약수들의 합을 구하는 변수

약수의 의미 설명

어떤 수의 모든 약수 중 자신을 제외하면 그 절반값이 최대의 약수가 된다.(짝수의 경우) 예를 들어 20의 모든 약수는 1, 2, 4, 5, 10, 20인데 자신(20)을 제외하면 20의 절반값인 10이 최대의 약수가 된다.

함수 설명

- INT(X) : X보다 크지 않은 정수를 구하는 함수이다.

- MOD(A, B) : 정수 A를 정수 B로 나눠 나머지를 구하는 함수이다.

20

SUM

24

SUM+J

31

MOD(N,J)

38

(0=zero)

39

LM+1

[알고리즘 모범답안]

31

38

24

20

39

전 1,2 번 답을

38 31 24 20 39

이렇게 했는데 이렇게 하면 틀린거에요?? 이렇게해도 똑같이 나올텐데 ㅠㅠㅠ 이런경우 어떻게 되나요?

그리고 틀렸다면 왜 틀린것인지...

답변
2014-04-16 09:56:17

안녕하세요.

전에도 논란이 되었던 내용인데, 그 이후로는 처리조건에 가장 적합한 로직으로 연계되도록 구현하라는 조건이 추가되었습니다.

직사각형은 처리문입니다.

R = ( 1 )

마름모는 판단문입니다.

R = ( 2 )

처리문은 단순히 상수값을 변수에 저장하는 용도가 아니라 특정 처리를 수행한 후 그 결과를 변수에 저장합니다.

판단문은 특정 처리한 값을 비교하는데, 종종 처리를 하면서 비교하는 경우도 있긴 하지만 일반적으로는 처리된 값을 비교합니다.

그러므로

처리문에서는 R = MOD(N, J)와 같이 처리한 값을 저장하고

판단문에서는 R =0 과 같이 R이 0인지를 단순히 비교 판단만 할 수 있도록 구현하는 것이 가장 적합한 로직으로 연계되도록 구현하는 것입니다.

이로 인해 당시에도 1번 31, 2번 38만 정답으로 처리되었던 문제이니 이점 학습에 참고하세요.

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

"
  • *
    2014-04-16 09:56:17

    안녕하세요.

    전에도 논란이 되었던 내용인데, 그 이후로는 처리조건에 가장 적합한 로직으로 연계되도록 구현하라는 조건이 추가되었습니다.

    직사각형은 처리문입니다.

    R = ( 1 )

    마름모는 판단문입니다.

    R = ( 2 )

    처리문은 단순히 상수값을 변수에 저장하는 용도가 아니라 특정 처리를 수행한 후 그 결과를 변수에 저장합니다.

    판단문은 특정 처리한 값을 비교하는데, 종종 처리를 하면서 비교하는 경우도 있긴 하지만 일반적으로는 처리된 값을 비교합니다.

    그러므로

    처리문에서는 R = MOD(N, J)와 같이 처리한 값을 저장하고

    판단문에서는 R =0 과 같이 R이 0인지를 단순히 비교 판단만 할 수 있도록 구현하는 것이 가장 적합한 로직으로 연계되도록 구현하는 것입니다.

    이로 인해 당시에도 1번 31, 2번 38만 정답으로 처리되었던 문제이니 이점 학습에 참고하세요.

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

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