책 내용 질문하기
알고리즘에서 이해가 안가는게 있습니다.
도서
2016 시나공 정보처리기사 실기
페이지
44
조회수
82
작성일
2016-09-28
작성자
첨부파일

44p

42p에서 설명했던

i=0 J=1 L은 -1 그리고 K의 초기값을 -1로 하는건 이해가 가는데요

44p

알고리즘에서 보면 3번째 칸에 수열의 각 항이 누적될 변수를 초기화 한다고 하면서 k=-1이 되는데

J(수열의 각 항)이 1로 시작하면 초기값이 1이 되는거 아닌가요??

k(합계)의 초기값이 주어진 문제처럼 -1이 되려면 K= J(L)해야 1x-1해서 -1로 초기값이 되는것 아닌가요??

J가 1로 시작하는데 어떻게 갑자기 K에 -1을 곱해준것도 아니고 바로 알고리즘에 그냥 K=-1로 들어가나요??

이해가 잘 안가서 질문 드립니다.

답변
2016-09-28 10:06:03

안녕하세요.

초기값은 실제 처리가 시작되기 전에 변수를 초기화하는 것으로

실제 처리가 진행된 후 항이 갖는 값에 영향을 줍니다.

i = 0

J = 1

L = -1

K = -1

인 상태에서

실제 처리가 진행되면

i=i+1 에 의해 i는 1이되고

J=J+i에 의해 J는 2가 됩니다.

J는 처음에 1을 갖았지만 실제 합계가 저장되는 변수인 K에는 -1을 저장하여 첫 항에 관계없이 첫 항에 관련된 합계 작업을 미리 선행하고시작하였습니다.

두 번째 항은 J가 2가 되고 이로 인해 K는 1이 되므로 두 번째 작업까지의 합계 결과가 맞게 진행됩니다.

문제에서 요구하는 것은 각 수열을 나열하라는 것이 아니라 제시된 수열의 합계를 구하는 것입니다.

그러므로

첫 번째 항에서는 합계(K)가 -1이 되어야 하고

두 번째 항에서는 합계(K)가 1이 되어야 하는 것이 중요합니다.

이를 위해 첫 번째 항의 합계나 항의 값이 변수에 저장되고 시작하는 경우가 있으니 이점 유의하세요.

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

  • *
    2016-09-28 10:06:03

    안녕하세요.

    초기값은 실제 처리가 시작되기 전에 변수를 초기화하는 것으로

    실제 처리가 진행된 후 항이 갖는 값에 영향을 줍니다.

    i = 0

    J = 1

    L = -1

    K = -1

    인 상태에서

    실제 처리가 진행되면

    i=i+1 에 의해 i는 1이되고

    J=J+i에 의해 J는 2가 됩니다.

    J는 처음에 1을 갖았지만 실제 합계가 저장되는 변수인 K에는 -1을 저장하여 첫 항에 관계없이 첫 항에 관련된 합계 작업을 미리 선행하고시작하였습니다.

    두 번째 항은 J가 2가 되고 이로 인해 K는 1이 되므로 두 번째 작업까지의 합계 결과가 맞게 진행됩니다.

    문제에서 요구하는 것은 각 수열을 나열하라는 것이 아니라 제시된 수열의 합계를 구하는 것입니다.

    그러므로

    첫 번째 항에서는 합계(K)가 -1이 되어야 하고

    두 번째 항에서는 합계(K)가 1이 되어야 하는 것이 중요합니다.

    이를 위해 첫 번째 항의 합계나 항의 값이 변수에 저장되고 시작하는 경우가 있으니 이점 유의하세요.

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

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