도드넷
정보처리기능사 실기 기출문제 유형#1 - 수열 알고리즘 본문
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
SUM = SUM + C //제3항을 누적시킴 첫번쨰 루프는 사실상 맨앞에 1+1과 같음.
N = N + 1 //카운트
A = B, B = C 항이동! B는 A가 되고 B는 C가 됨
N = 100 이면 SUM출력하고 종료 아니면 Loop Point로.
'창고 > 정보처리기능사[완]' 카테고리의 다른 글
정보처리기능사 실기 기출문제 유형#3 - 소인수분해 알고리즘 (0) | 2016.05.06 |
---|---|
정보처리기능사 실기 기출문제 유형#2 - 소수 알고리즘 (0) | 2016.05.06 |
정보처리기능사 알고리즘#18 - ㄹ배열 알고리즘 (0) | 2016.05.04 |
정보처리기능사 실기#17 - 완전수 알고리즘, 완전수란 뭔가요? (0) | 2016.05.03 |
정보처리기능사 실기 알고리즘#16 - 소수 알고리즘! (0) | 2016.04.27 |