Uknow's Lab.
article thumbnail

 

https://www.acmicpc.net/problem/2747

 

2747번: 피보나치 수

피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가

www.acmicpc.net

 

난이도 : 브론즈 2
태그 : 수학, 구현

 

 

설명

점화식을 배울 때 예시로 많이 쓰이는 피보나치 수 입니다.

이전 두 수의 합이 다음 수가 된다는 점에서,

 

n1, n2의 합을 더한 수를 저장해놓고,

n1에 n2를 저장하고, n1과 n2를 저장해논 값을 n2에 저장하는 방식으로 풀 수 있습니다.

 

 

소스코드

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {
	int n, n1 = 0, n2 = 1;
	int cnt = 2;

	scanf("%d", &n);

	if (n <= 2) printf("1");
	else {
		while (cnt++ <= n)
		{
			int sum = n1 + n2;
			n1 = n2;
			n2 = sum;
		}
		printf("%d", n2);
	}

	return 0;
}

 

 

profile

Uknow's Lab.

@유노 Uknow

인생은 Byte와 Double 사이 Char다. 아무말이나 해봤습니다.