언어 자료구조 알고리즘/C언어 예제

정보올림피아드 프로그래밍

언제나휴일 2009. 8. 19. 05:47
반응형
반응형

'언어 자료구조 알고리즘 > C언어 예제' 카테고리의 다른 글

질문: 정보올림피아드 프로그래밍 goun2721004 / 2009-04-08 07:43
프로그래밍 문제에서요

 

 

19. 다음은 어떤 프로그램의 일부이다. 다음 부분이 실행된 뒤 s의 값은?

 

s = 1;for (i = 1; i <= 2008; i++) { if (s < 5) { s *= 2; } else { s -= 5; }}

 

①2

②3

③4

④6

⑤8

 

 

이것을 어떻게 푸는 방법좀... 참고로 저는 초딩...

 

내공 20드림 내공냠냠 신고

답변: re: 정보올림피아드 프로그래밍 wsdcaptain / 2009-04-08 08:20

s = 1;for (i = 1; i <= 2008; i++) { if (s < 5) { s *= 2; } else { s -= 5; }}

 

s값이 5보다 작으면 2를 곱하고 그렇지 않으면 5를 빼는 것이 규칙입니다.

또한 i를 1에서 2008까지 순차적으로 증가합니다.

해당 규칙에 따르면 i에 따른 s의 변화는 다음과 같습니다.

 

i 수행 전 s 수행 후s

1 1 2

22 4

34 8

4 8 3

53 6

6 6 1

7 1 2

82 4

94 8

10 8 3

113 6

12 6 1

... ... ...

6*n+1 1 2

6*n+22 4

6*n+34 8

6*n+4 8 3

6*n+53 6

6*n 6 1

 

즉, s는 1 2 4 8 3 6 1 2 4 8 ...과 같은 규칙에 의한 변화를 갖는다는 것을 알 수 있습니다.

2008은 6으로 나누면 나머지가 4이므로

3이라는 결론을 얻을 수 있습니다.

즉, 2번이 정답입니다.

 

고등 수학의 수열에서는 이와 같은 수의 규칙성에 대한 학습을 하게 됩니다.

이러한 수열은 집합, 명제, 행렬, 확률, 통계와 함께 전산에 중요한 위치를 차지하는 수학입니다.

즐공하세요.



정보 올림피아드  (0) 2009.08.19
중복되지 않게 랜덤한 카드 발생  (0) 2009.08.19
파이, e, sin 구하기  (0) 2009.08.19
Sin함수 만들기(II)  (0) 2009.08.19
적분 공식을 이용한 Sin(x)함수 만들기  (0) 2009.08.19
간단하게 Random함수 만들기  (0) 2009.08.19
재귀함수 형상화  (0) 2009.08.19
한글 초성 알아내기  (0) 2009.08.19
쉬프트 연산  (1) 2009.08.19
비쥬얼 c++ 틀린부분점 ㅠ  (0) 2009.08.19