728x90

 

/*
์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด ๊ฐ’ ์ถœ๋ ฅ
0 - 0
1 - 1
2 - 1
3 - 2
4 - 3
5 - 5
6 - 8
7 - 13
*/

#include <stdio.h>

int number; // ์ „์—ญ๋ณ€์ˆ˜ ์„ ์–ธ

int fibonacci(int number) // ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด ๊ฐ’ ๊ณ„์‚ฐ ํ•จ์ˆ˜
{
	if (number < 2) // 2๋ณด๋‹ค ์ž‘์œผ๋ฉด
		return number; // ๊ทธ๋Œ€๋กœ ๋ฐ˜ํ™˜
	else // ์•„๋‹ˆ๋ผ๋ฉด
		return fibonacci(number - 1) + fibonacci(number - 2); // ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด ๊ฐ’ ๊ณ„์‚ฐ ํ›„ ๋ฐ˜ํ™˜
}

int main() // ๋ฉ”์ธ ํ•จ์ˆ˜
{
	printf("์ •์ˆ˜ ์ž…๋ ฅ : ");
	scanf_s("%d", &number); // ์ •์ˆ˜ ์ž…๋ ฅ

	printf("%d\n%d", number, fibonacci(number)); // ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด ๊ฐ’ ์ถœ๋ ฅ

	return 0; // ์ข…๋ฃŒ
}

/*
ํ”ผ๋ณด๋‚˜์น˜ ํ•จ์ˆ˜ ์‹คํ–‰ ๊ฒฐ๊ณผ
number = 5
number > 2
5-1 -> 4-1, 4-2 -> 3-1, 3-2, 2-1, 2-2 -> 2-1, 1, 1, 0 -> 1, 1, 1, 0
+
5-2 -> 3-1, 3-2 -> 2-1, 2-2, 1, -> 1, 0, 1
=
5
*/
728x90
๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค!