3-16. 두 개의 양의 정수 m과 n을 입력받아 Fibonacci Series를 출력하는 프로그램을 작성하라. Fibonacci Series는 m에서 시작하여 n개를 작성한다. Fibonacci Series 작성은 첫번째 숫자는 m이고, 두번째 숫자는 첫번째 숫자와 같다. 세번째 숫자는 첫번째 숫자와 두번째 숫자의 합이다. 그 다음의 숫자는 항상 앞의 두 숫자를 합한 값이 된다. 1부터 시작하는 Fibonacci Series는 다음과 같다.
1, 1, 2, 3, 5, 8, 13……….
-
변수는 one, two, three로 하고, one은 m을 값으로 받고 two는 앞의 one의 값을 받는다. one과 two를 출력한다.
-
one과 two를 더하여 three에 넣고 three를 출력한다.
-
two의 값을 one에 넣고 three의 값을 two에 넣는다.
-
one와 two를 더하여 three에 넣고 three를 출력한다.
-
c)와 d)를 반복한다.
첫번째는 1과 13, 두번째는 3과 9를 입력하여 실행결과를 출력하라.
-
우선 수열의 첫 세자리는 변하지 않으므로, 조건문이나 반복문을 실행하기 전에 정의한다.
- 그 다음, 수열의 원소 개수(n)를 0,1,2로 입력한 경우 (즉, 특수한 경우의 실행명령)를 정의한다.
원소가 0이면 출력할 게 없으므로 return 0.
원소가 하나면 one만 출력, 두 개면 one출력, two출력한다. 그 후에 one, two를 출력하는 코드를 피하기 위하여 return 0을 써준다.
-
원소가 세 개 이상일 경우, 3번째 원소부터 마지막 원소까지는 반복문으로 출력한다.
여기서 핵심은, 출력할 각 원소를 three(one+two)로 정의하고, three에 더해질 one과 two를 한 단계 앞쪽으로 이동시키는 것이다.
'C언어 과제' 카테고리의 다른 글
20140324 과제 도전 1 진수변환 프로그램 (0) | 2014.03.24 |
---|---|
140317 과제 7 소득세율 계산 프로그램, 조건문, 문자형 (0) | 2014.03.19 |
140317 과제15 소수 구하기 프로그램, 이중포문, 1과 자신으로만 나누어지는 수 (0) | 2014.03.19 |
140317 과제 14 구구단 출력 프로그램, 이중 반복문, \n (0) | 2014.03.19 |
140317 과제 13 두 수의 짝수 누적합 구하기 프로그램, %연산자 (0) | 2014.03.19 |