C
[c 언어] 재귀함수를 활용한 피보나치 수열(1+1+2+3+5+8+13+…)의 합계(while, for, if)
데브웅
2019. 6. 18. 00:51
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
|
#include <stdio.h>
unsigned long long fibonacci(unsigned int n) // 재귀함수로 fibonacci 반환 함수를 만들어 준다
// unsigned long long을 큰 수의 fibonacci 수열 반환에 대비한다.
{
if ((n == 1) || (n == 2))
return 1;
else
return fibonacci(n-1) + fibonacci(n-2);
}
int main()
{
unsigned long long sum = 0;
unsigned int i = 1;
unsigned int n;
scanf("%d", &n);
do
{
sum += fibonacci(i);
printf("fibonacci number : %d\n", fibonacci(i));
i++;
} while(i <= n);
printf("%lld\n", sum);
return 0;
}
|
cs |