피보나치 수열(Fibonacci sequence)은 다음과 같이 정의된다.
<C: 재귀함수>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#include <stdio.h>
int seq(int n);
int main()
{
int len;
int i;
printf("How long?: ");
scanf("%d", &len);
for (i = 1; i <= len; ++i)
{
printf("%d ", seq(i));
}
return 0;
}
int seq(int n)
{
switch (n)
{
case 0:
return 0;
case 1:
return 1;
default:
return (seq(n - 1) + seq(n - 2));
}
}
|
cs |
또는
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#include <stdio.h>
int seq(int n);
int main()
{
int len;
int i;
printf("How long?: ");
scanf("%d", &len);
for (i = 1; i <= len; ++i)
{
printf("%d ", seq(i));
}
return 0;
}
int seq(int n)
{
return ((n == 0) || (n == 1)) ? n : (seq(n - 1) + seq(n - 2));
}
|
cs |

<C>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#include <stdio.h>
int main()
{
int n1 = 1;
int n2 = 1;
int n3;
int num;
int i;
printf("How long?: ");
scanf("%d", &num);
printf("%d, %d", n1, n2);
num -= 2;
for (i = 0; i < num; ++i)
{
n3 = n1 + n2;
printf(", %d", n3);
n1 = n2;
n2 = n3;
}
return 0;
}
|
cs |

'Programming > 과제' 카테고리의 다른 글
재귀함수를 이용한 최소공배수 구하기 (0) | 2021.03.08 |
---|---|
재귀함수를 이용한 최대/최소값 구하기 (0) | 2021.03.08 |
엑셀 컬럼명 암호? (0) | 2021.02.15 |
홀짝 판별 (0) | 2021.01.17 |
[과제] 수강신청 프로그램 (0) | 2019.07.04 |