책 내용 질문하기
p38 알고리즘 질문입니다.
도서
2018 시나공 정보처리기능사 실기
페이지
38
조회수
74
작성일
2018-04-21
작성자
탈퇴*원
첨부파일

항사이의 증가하는 값이 일정한 비율로 증가하는수열

i가 19까지 변경되며 20번째 항까지 만들기위한 증가값

i =0 //증가값

j= 1 // 수열의 각항

k = 1//합계 라고 되어있는데요.

-----------------------

왜 초기값이 이렇게되어있는지 모르겟네요..

프로그래밍 기반이라면

int j=1; //수열의 각항

int k=0; //합계

for(int i=0;i<20;i++){

j+=i; //수열의 각항 i 증가마다 더함 i가 초기 0일땐 1

k+=j; //합계 수열의 각항을 더함 초기

}

----------------

이게정답인데

답은

플로차트

j=1;

k=1;

j=j+1;

i<19 더라구요?? 대충반복문으로 구현하면

-------------------

int j=1;

int k=1;

for(int i=1;i<19;i++){

i=i+1;

j=j+i;

k=k+j;

}

k에 초기값 1이있으니 다음값 2를 더해줘야합니다.

하지만 반복문이 실행되는 동시에 i=i+1; 으로 2의 값을 갖게되고

j= j(1)+i(2) 3의 값을 갖게됩니다,

k=k+j; k+3 이되구요. 위 페이지 문제 알고리즘에서 초기값이 1로시작한다면 3으로 더하는 숫자는 없어야하는데

책 집필 오류인가요 ??

답변
2018-04-23 10:43:29

안녕하세요.

K는 누적된 값 즉 합이 저장되는 변수입니다.

각 항은 J에 저장됩니다.

K에 초기값으로 1이 저장된 것은 첫 항인 1을 J에 저장하고 시작했으로

K에도 합계값에 1을 저장하고 시작한 것입니다.

그런다음 K에 3이 저장되는 이유는 두 번째까지의 항인 1, 2의 합이 3이기 때문이죠.

즉 J는 2가되고 그 2를 기존 1에 누적하여 3이 된 것입니다.

1, 2, 4, 7, 11 .. 과 같은 각 항은 J에

1, 3(1+2), 7(1+2+4), 14(1+2+4+7)과 같은 누적 합계는 K에 저장됩니다.

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

  • *
    2018-04-23 10:43:29

    안녕하세요.

    K는 누적된 값 즉 합이 저장되는 변수입니다.

    각 항은 J에 저장됩니다.

    K에 초기값으로 1이 저장된 것은 첫 항인 1을 J에 저장하고 시작했으로

    K에도 합계값에 1을 저장하고 시작한 것입니다.

    그런다음 K에 3이 저장되는 이유는 두 번째까지의 항인 1, 2의 합이 3이기 때문이죠.

    즉 J는 2가되고 그 2를 기존 1에 누적하여 3이 된 것입니다.

    1, 2, 4, 7, 11 .. 과 같은 각 항은 J에

    1, 3(1+2), 7(1+2+4), 14(1+2+4+7)과 같은 누적 합계는 K에 저장됩니다.

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

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