//피보나치 수열
#include<stdio.h>
int fib1(int n) {
if (n<2)
return n;
else
return fib1(n-1) + fib1(n-2); //앞의 두 개의 항을 더해서 return
}
int fib2(int n) {
int k;
int ary_fib[n+1];
ary_fib[0] = 0;
if (n>0) {
ary_fib[1]=1;
for(k=2;k<=n;k++)
ary_fib[k]= ary_fib[k-1] + ary_fib[k-2];
}
return ary_fib[n];
}
int main()
{
int a;
scanf("%d", &a);
printf("함수: %d\n", fib1(a));
printf("반복문:%d", fib2(a));
}
/*
8
함수: 21
반복문:21
--------------------------------
Process exited after 1.273 seconds with return value 0
계속하려면 아무 키나 누르십시오 . . .
*/
'정보과학' 카테고리의 다른 글
recur (0) | 2019.08.30 |
---|---|
reverse (0) | 2019.08.30 |
n까지의 합(상향식 재귀) (0) | 2019.08.23 |
n까지의 합(하향식 재귀) (0) | 2019.08.23 |
사칙연산계산기 (0) | 2019.08.23 |
댓글