관리 메뉴

도드넷

정보처리기능사 실기 기출문제 유형#1 - 수열 알고리즘 본문

창고/정보처리기능사[완]

정보처리기능사 실기 기출문제 유형#1 - 수열 알고리즘

도드! 2016. 5. 5. 11:53
반응형




Anything for you..♥


정보처리기능사 실기 기출문제 유형#1 - 수열 알고리즘


1. 1+2+3+4+...+100

- 그냥 1씩 더해지는 수열의 합

- 이게 나올리는 없지. (너무 쉽잖앙!)

- 그래도 기본이니까 집고 넘어가면, 변수는 2개 항 i, 누적 SUM 두개, 핵심 코드는 i = i + 1 로 항증가시키고 SUM = SUM + i 로 누적시키고 i = 100 이되면 탈출-출력 하게 하면 될듯.


2. 1-2+3-4+...99-100

- 1번과 같지만 부호가 바뀌는 "교행"이라는 점이 다르다.

- 교행의 구현은 여러가지 방법으로 가능한데, 아래와 같다.

교행구현법1 : SW 스위치 변수 이용 1이면 0시키고 0이면 1시켜서 - + 연산 반복시킴.

교행구현법2 : 짝수인지 판단해서 짝수면 -1 을 곱해서 음수로 만듬

교행구현법3 : 그냥 번갈아서 수행시킴. +i 한다음에는 -i 하고 다시 +i -i ...


* 짝수인지판단?

MOD2 를해서 값이 0이되거나, INT(N/2) = N/2이면 짝수이다. 다같은말.


3. - (1/2) + (2/3) - (3/4) + ... + (98/99) - (99/100)

- 분수형 교행 수열인데 어려울건 없고 분자[1,2,3...98,99]만 생각하면 된다.

- 변수는 2개 i, SUM 이다.

- 각항은 i / i+1 으로 구현되며 i = 99가 될때까지 SUM에 교행으로 누적시키면 된다.


4. 1+2+4+11+16+22+... (20번째 항)

- 증가값이 증가하는 형태의 수열. 세번째 변수가 필요한 시점이 왔다.

- 사용하는 변수는 세가지 항변수i 증가값K 누적변수SUM.

- 핵심은 K = K + 1, i = i + K, SUM = SUM + I

- (i, K 모두 0부터 시작 K값 선행증가 이후 I에 더해줌. 참고로 0부터 시작해서 첫번째항 1을 만들었으므로

i = 19일때 20번째 항이 등장하므로 아웃포인트는 i = 19로 잡아야함.)


5. 2!+3!+4!+5!+...+10!

- 다시만난 팩토리얼 수열. 항당 곱해지는 수를 1씩 증가시키면서 누적곱하면 해결된다.ㅣ

- 팩토리얼의 정의 : 3! = 1x2x3

- 필요한 변수 3개 :: 증가하는 증가값K, 항변수i, 누적변수SUM.

(3! 와 4!의 차이는 x4를 해줬느냐 안해줬느냐 밖에 없으므로 루프당 차례로 누적곱해주면 팩토리얼은 간단히 해결된다.)

- 핵심은 K = K + 1, i = i x K (K=1 부터 i = 1 부터 시작.), SUM = SUM + i )


6. 1+1+2+3+5+8+13+... (100번째항) (피보나치 수열)

- 피보나치수열 알고리즘은 항변수를 3개써서 이동하는 식으로 제3항 계속 구해서 더해서 누적시키면 됨.

- 사용하는 변수는 총 5개로 A, B, C, SUM, N


A=1

B=1

N=2


Loop Point

C = A+B //제3항의 정의

SUM = SUM + C //제3항을 누적시킴 첫번쨰 루프는 사실상 맨앞에 1+1과 같음.

N = N + 1 //카운트

A = B, B = C 항이동! B는 A가 되고 B는 C가 됨
N = 100 이면 SUM출력하고 종료 아니면 Loop Point로.









반응형
Comments