알고리즘/문제 풀이
10870번: 피보나치 수 5
Themion
2022. 1. 3. 13:41
https://www.acmicpc.net/problem/10870
10870번: 피보나치 수 5
피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가
www.acmicpc.net
구하고자 하는 피보나치 수의 순서 n을 입력받은 뒤 n번째 피보나치 수를 계산해 출력한다.
#include <cstdio>
#define MAX_N 20
int main() {
// fib[i % 2]: i번째 피보나치 수, n: 구할 피보나치 수의 순서
int fib[2] = { 0, 1 }, n;
// n을 입력받은 뒤 n번째 피보나치 수까지 계산
scanf("%d", &n);
for (int i = 2; i <= n; i++) fib[i % 2] += fib[!(i % 2)];
// n번째 피보나치 수를 출력
printf("%d\n", fib[n % 2]);
return 0;
}