반응형
ACMICPC 1003 : 피보나치 함수
<결과>
<코드>
#include <iostream> using namespace std; int main() { int num_cases = 0; cin >> num_cases; for (int i = 0; i < num_cases; ++i) { int n = 0; cin >> n; if (n == 0) cout << "1 0" << endl; else if (n == 1) cout << "0 1" << endl; else { // 0 count, 1 count // 1, 0 (f1) // 0, 1 (f0) int m[2][2] = { { 0, 1 }, { 1, 0 } }; for (int j = 2; j < n; ++j) { int new_ones = m[0][1] + m[1][1]; int new_zeros = m[0][0] + m[1][0]; m[1][0] = m[0][0]; m[1][1] = m[0][1]; m[0][1] = new_ones; m[0][0] = new_zeros; } cout << m[0][0] + m[1][0] << " " << m[0][1] + m[1][1] << endl; } } return 0; }
반응형