본문 바로가기
정보과학

피보나치 수열

by chaechaekim 2019. 8. 30.
//피보나치 수열 
#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

댓글