항사이의 증가하는 값이 일정한 비율로 증가하는수열
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으로 더하는 숫자는 없어야하는데
책 집필 오류인가요 ??
안녕하세요.
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에 저장됩니다.
오늘도 즐거운 하루 되세요.