반응형
|
문제풀이)
data 배열에 저장되어 있는 값은 다음과 같다.
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
1 |
9 |
10 |
2 |
3 |
7 |
8 |
6 |
4 |
5 |
아래 문장은 배열 0 ~ 4 까지의 데이터를 sum 에 합산하므로
for (i = 0 ; i <= w - 1 ; i++) sum += data[i]; |
sum = 1 + 9 + 10 + 2 + 3 = 25
average = 25 / 5 = 5
아래 문장을 수행하면 데이터 값의 변화는 다음과 같다.
for (i = 0 ; i <= n - 2 ; i++) { sum = sum - data[i]; sum = sum + data[i + w]; average = sum / w; printf("%d ", average); }
|
n = s-w + 1 = 10 -5 + 1 = 6 이므로 i 의 값은 0 ~ 4 까지 반복 됨
i |
0 |
1 |
2 |
3 |
4 |
sum |
sum = 25 - 1 sum = 24 + 7 = 31 |
sum = 31 - 9 sum = 22 + 8 = 30 |
sum = 30-10 sum = 20 + 6 = 26 |
sum = 26 - 2 sum = 24 + 4 = 28 |
sum = 28 - 3 sum = 25 + 5 = 30 |
average |
31 / 5 = 6 |
30 / 5 = 6 |
26 / 5 = 5 |
28 / 5=5 |
30 / 5 = 6 |
따라서 다음의 데이터가 출력된다.
5,6,6,5,5,6
정답) 5번
반응형
'정보올림피아드지역예선' 카테고리의 다른 글
정보올림피아드 초등 - 지역예선] 2009년도 26번문제 (0) | 2013.09.25 |
---|---|
정보올림피아드 초등 - 지역예선] 2009년도 25번문제 (0) | 2013.09.24 |
정보올림피아드 초등 - 지역예선] 2009년도 22-23번문제 (0) | 2013.09.23 |
정보올림피아드 초등 - 지역예선] 2009년도 21번문제 (0) | 2013.09.23 |
정보올림피아드 초등 - 지역예선] 2009년도 20번문제 (0) | 2013.09.23 |