p41쪽 문제에서 초기화를 i=0.j=0,k=0 으로 되어 있는데
앞선 p40에서 처럼 i,j,k를 모두 1로 초기화해서 풀어도 맞는 답인가요?
저는 그렇게 했는데 틀린거 아니죠?
#include
int i=1,j=1,k=1;
i=i+1;
j=j+i;
k=k+j;
printf("+%d",j);
if(!(i<20)){
break;
}
}
안녕하세요.
초기값은 순서도의 형태에 따라 달라지는 것으로 무조건 고정된 것은 아닙니다.
41쪽의 알고리즘은 이 알고리즘은 20번째 항까지의 합계를 구하는 것으로 실질적인 반복문의 시작이 첫항을 구하는 것부터 시작됩니다. 그래서 초기값을 0으로 지정한 후 종료 기준을 i<20으로 한 것입니다.
만일 초기값을 1로 지정하여 첫항을 구한 것으로 처리한 후 작업을 진행한다면 마지막 종료 기준을 i<19로 해야 합니다.
오늘도 즐거운 하루 되세요.
"-
*2014-06-20 09:29:52
안녕하세요.
초기값은 순서도의 형태에 따라 달라지는 것으로 무조건 고정된 것은 아닙니다.
41쪽의 알고리즘은 이 알고리즘은 20번째 항까지의 합계를 구하는 것으로 실질적인 반복문의 시작이 첫항을 구하는 것부터 시작됩니다. 그래서 초기값을 0으로 지정한 후 종료 기준을 i<20으로 한 것입니다.
만일 초기값을 1로 지정하여 첫항을 구한 것으로 처리한 후 작업을 진행한다면 마지막 종료 기준을 i<19로 해야 합니다.
오늘도 즐거운 하루 되세요.
" -
*2014-06-20 09:51:36
답변 잘 봤는데요~
i<19까지 하면 안되는 이유가
저는 i=1 로 초기화했어요 그 이유는 첫 증가값i가 2부터 되야하기 때문이에요
그래서 i<20까지 해야 총 20항이 되구요..
40페이지에는 i=0부터 했기 때문에 19까지 하면 20개지만
41페이지 문제는 처음 증가가 2씩 증가이기 때문에 i=1부터 20까지로 범위 잡은거구요
i j k i<20
1 1 1 y
2 3 4 y
3 6 10 y
4 10 20 y
5 15 35 y
6 21 56 y
7 28 84 y
8 36 120 y
9 45 165 y
10 55 y
11 66 y
12 78 y
13 91 y
14 105 y
15 120 y
16 136 y
17 153 y
18 171 y
19 190 y
20 210 n
맞죠? i<20